C# String Manipulation


I have a GridView that contains a comapny name. The problem is that although the GridView displays the text correct e.g. 'Smtih & Sons', when my code gets the text from the cell, i am returned 'Smith & Sons'.

How can I get it to return what I can see on the screen?

protected void GridViewBrowseResults_RowCommand(object sender, GridViewCommandEventArgs e)
  if (e.CommandName.Equals("ViewFile"))
    int index = Convert.ToInt32(e.CommandArgument);
    string myRootDir = BrowseType;
    string myCompanyDir = GridViewBrowseResults.Rows[index].Cells[1].Text;
    string mySubDir = myListDirectoryMap[index].File_Folder;
    string myFileName = GridViewBrowseResults.Rows[index].Cells[3].Text;
    myToolBox.SetAccessPath(myRootDir, myCompanyDir, mySubDir, myFileName);
Watch Results:
index	                      0                   	int
myRootDir	                      "quotation"    	string
myCompanyDir	"Smith & Sons"	string
mySubDir	                     "12008"         	string
myFileName	                     "FQ-0000012008-0"	string

Open in new window

tedporterIT Technical Services ConsultantAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

MaxOvrdrv2Connect With a Mentor Commented:
myCompanyDir = Server.HTMLDecode(myCompanyDir);
Yeah, the above will work perfectly; however, be aware that the ampersand (&) is not the only 'trick' character. There are a few more, as follows:

<   >
>   <
"    &quot;
&   &amp;
'    &apos; // Not always, though!

That's all I can think of off the top of my head, for now.
Oh great, this site's system is even too ghetto to handle itself, lol. The first two lines are supposed to say

<  & gt;
>  & lt;

No spaces between the letters and the & though
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

my post above should handle all of the characters...
Setting BoundField.HtmlEncode to false will do the trick as well.

tedporterIT Technical Services ConsultantAuthor Commented:

Thank you all for the posts. Tetorvik, I tried your suggestion but unfortunately, I had no success with it.
tedporterIT Technical Services ConsultantAuthor Commented:
Thank you for the code. Works like a dream.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.