我目前正在使用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
。有什么帮助吗?
答案 0 :(得分:2)
GridView Cell的Text
属性返回一个编码字符串,您必须将其解码如下:
Session("ProviderDetails") = Server.HtmlDecode((providerEscalationMatrixGridViewAdmin.SelectedRow.Cells(1).Text)
如果您在asp.net网络应用程序之外,则可以使用System.Net.WebUtility.HtmlDecode()
方法。
安全注意:请注意当您从客户端获取字符串值时可能遇到的安全问题,因为它可能会被用户篡改......