You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解码GridView中TextBox.Text里的转义双引号?

解决方案:GridView TextBox 双引号转义问题

你遇到的是双重转义问题:原本的HTML实体"被额外添加了反斜杠转义,导致最终字符串出现\"。以下是针对性的解决方法:

方案1:精准字符串替换(最直接)

直接移除"前的反斜杠,完全匹配你的期望结果:

TextBox selectedRowTextbox = (TextBox)selectedRow.Cells[5].Controls[1];
string selectedRowText = selectedRowTextbox.Text;
// 将\"替换为"
selectedRowText = selectedRowText.Replace(@"\"", """);

方案2:利用正则转义处理

Regex.Unescape可以移除字符串中的转义反斜杠,刚好能把\"转为":

TextBox selectedRowTextbox = (TextBox)selectedRow.Cells[5].Controls[1];
string selectedRowText = selectedRowTextbox.Text;
// 处理反斜杠转义
selectedRowText = Regex.Unescape(selectedRowText);

如果后续需要把"转为实际双引号,再追加Server.HtmlDecode(selectedRowText)即可。

为什么之前的方法未生效?

  • Server.HtmlDecode:仅处理HTML实体转义,不会移除反斜杠,直接使用会得到24\" Sparkle Disco Ball,不符合需求。
  • Uri.UnescapeDataString:用于URL编码解码,和HTML实体无关,因此无效。
  • Regex.Replace:若正则表达式未精准匹配\"(比如未转义反斜杠),则无法生效,精准字符串替换更可靠。

内容的提问来源于stack exchange,提问作者PhillipPDX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 05:16:12