如何在包含特殊字符时从GridView获取正确的值(解码�)

时间:2017-02-01 06:33:21

标签: asp.net visual-studio

我目前正在使用asp.net页面,该页面允许用户更新记录的详细信息。使用的语言是VB.Net。当字符串中有特殊字符时,我目前遇到问题。原始数据从mySQL数据库绑定到Gridview。

例如,名称Inocêncio。单击更新按钮后,它将作为会话传递到“更新”页面。然后将该值设置为文本框。 但是,它显示为Inocêncio。这只是用户将遇到的众多示例中的一个。

以下是我的示例代码: 从我的Gridview传递到会话

Session("ProviderDetails") = _
CStr(providerEscalationMatrixGridViewAdmin.SelectedRow.Cells(1).Text)

我这样检索了

Dim contactName as String
contactName = Session("ProvidersDetails")
txtContact.text = contactName

我尝试了两种方法,首先是转换已分配会话值的变量。

 contactName = Regex.Unescape(contactName)

第二个是txtContact.Text = Regex.Unescape(txtContact.Text),但它仍然不会显示为Inocêncio。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

GridView Cell的Text属性返回一个编码字符串,您必须将其解码如下:

Session("ProviderDetails") = Server.HtmlDecode((providerEscalationMatrixGridViewAdmin.SelectedRow.Cells(1).Text)

如果您在asp.net网络应用程序之外,则可以使用System.Net.WebUtility.HtmlDecode()方法。

安全注意:请注意当您从客户端获取字符串值时可能遇到的安全问题,因为它可能会被用户篡改......