vb express 2010 html decode

Posted on 2011-09-17
Last Modified: 2012-05-12
Trying to use the built in html decoder but it doesn't seem to work in vb express 2010
Many examples on the web but can't get to work.
here is an example from microsoft
Imports System
Imports System.Web
Imports System.IO

Class MyNewClass
   Public Shared Sub Main()
      Dim myString As String
      Dim myWriter As New StringWriter()
      ' Decode the encoded string.
      HttpUtility.HtmlDecode(myString, myWriter)
        End Sub 'Main
End Class 'MyNewClass

the httpUtility gives an error that it is not declared
Question by:aonecomputers
  • 5
  • 4
LVL 40
ID: 36555625
Nothing was initialized.

First, you try to decode a String that has nothing in it.

Second, you need to decide where you want to send the result. The StringWriter is an object not often used, and it sends its output to a StringBuilder, an object that you have to learn to use.

You might want to send to a StreamWriter instead, which woud send the information to a file.
Dim myString As String
Dim myWriter = New System.IO.StreamWriter("YourFile.txt")

MyString="your encoded String"
HttpUtility.HtmlDecode(myString, myWriter)

Open in new window

If you want to decode a string and have the result also in a String, you should use another form of the HttpUtility.Decode:
Dim myString As String
Dim decodedStrins as String

myString="your encoded String"

Open in new window


Author Comment

ID: 36557123
Sorry I just tried to simplify the code without having code not related to the problem. The error is in the declaration of the HttpUtility.HtmlDecode not in any of the stuff you are referring to. Did you actually get the code you posted to work in VB express 2010 w/o a declaration error?
I tried and after I corrected your typo got the same error Error HttpUtility' is not declared. It may be inaccessible due to its protection level.
LVL 40
ID: 36557429
Could you post the exact error message. It would be very surprised if it was HttpUtility that is not declared, since you do not have to declare it to use HtmlDecode.

That is why, if you read my answer carefully, I am pointing to the fact that First, you try to decode a String that has nothing in it.

There is nothing in myString, so the decoder has nothing to work with when you call the method. I suspect that the thing that is not declared is myString, not HttpUtility.

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.


Author Comment

ID: 36557760
The exact error is Error HttpUtility' is not declared. It may be inaccessible due to its protection level.
This is not a run time error. It is highlighted immediately in the editor.
LVL 40
ID: 36557913
You probably did not reference the dll.

If you call help on HttpUtility, it tells you that this class is in the System.Web.dll.

In order to use that dll, you need to tell Visual Studio that you want to work with it. This is called a reference.

You add a reference through Project...Add Reference. Select the .NET tab, go down to System.Web and click OK.

From then on, your project can use the classes in the dll, including HttpUtility.

Most of the examples you find on the web for that class are assuming that you are in a Web application. This dll is referenced automatically when you create a Web application. It is not in many other types of projects, and you need to reference it manually in order to use it.

Author Comment

ID: 36558091
I will check that out and let you know. I thought the Imports system.web did that.

Author Comment

ID: 36558117
There isn't one exactly like that. There is System.Web.ApplicaionServices and System.Web.Services but there doesn't seem to be any way to select them they are just displayed. I did highlight one at a time and click OK but if I go back everything in the list is exactly the same. I
I guess you don't have vb express. What are you using as a base of reference?
I have attached a picture of it below and you can see the actual code to the left. add reference
LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 125 total points
ID: 36558269
Imports is not sufficient.

You set the reference first. Then you could optionnally use Imports.

The use of Imports is only to simplify your code. Once you have an Imports, you do not have to type the namespace each time you call a class or a constant. That is all that Imports do. It's akind to the Path environment variable for directories if you know the concept.

Imports does nothing if the reference is not set.

The reference you need is System.Web, no more. The one you have in your screen shot are only extensions of System.Web. They do not contain the basics.

The probable reason why you do not see System.Web is that you have targeted the Framework 4 Client Profile as shown at the top of your screen shot. This is a subset of the framework that does not contain everything. And according to the documentation, System.Web is not supported in the shortened version you are targeting.

You can change it by going into the projects properties: Project...<Project name> Properties...Compile Tab...Advanced Compile Options button...Target Framework. You should reference .NET Framework 4, not the Client Profile to have access to System.Web.

If you still do not see System.Web in the references after that, it can be for 2 more reasons:

- The list does not always sort properly. Clicking on the header of the column usually correct the problem, but not always. You might have to scroll until you find System.Web.

- If you have installed only Visual Basic Express, you do not have everything. Most web components come with Visual Web Developer Express. If you install it, it will merge with your installation of Visual Basic without causing any problem. You will simply have more choices when you create a new project, and more classes to work with. I have a complete installation, so I cannot tell you if VB alone has System.Web, but I would bet it does not. You might also install Visual Studio Express instead. It includes both as well as a few other languages and tools to develop applications for Windows Phone.


Author Closing Comment

ID: 36562722
This did have web developer. The procedure you gave about changing to .net framework 4 instead of the client profile did it. No idea how this got set to begin with but doing that gave the system.web in the add reference and clicking it took some time as opposed to before clicking any of the stuff didn't seem to do anything.

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question