加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET自动将&转换为&

发布时间:2020-12-15 08:04:25 所属栏目:百科 来源:网络整理
导读:小问题,但它仍然让我疯狂. 我正在为 script构建一个url标记包含要在ASP.NET页面上呈现,如下所示: script src='%= string.Format("http://example.com/page.aspx?a={0}b={1}c={2:0.00}",A,B,C)%' type='text/javascript'/script 问题是何时呈现,字符替换为 a
小问题,但它仍然让我疯狂.

我正在为< script>构建一个url标记包含要在ASP.NET页面上呈现,如下所示:

<script src='<%= string.Format("http://example.com/page.aspx?a={0}&b={1}&c={2:0.00}",A,B,C)%>' type='text/javascript'></script>

问题是何时呈现,&字符替换为& amp;:

<script src='http://example.com/page.aspx?a=xxx&amp;b=zzz&amp;c=123.45' type='text/javascript'></script>

我很期待这个,显然:

<script src='http://example.com/page.aspx?a=xxx&b=zzz&c=123.45' type='text/javascript'></script>

但是,如果我直接渲染网址,则在< script>之外标签,看起来还不错!干得好

<%= string.Format("http://example.com/page.aspx?a={0}&b={1}&c={2:0.00}",C) %>

呈现这个:

http://example.com/page.aspx?a=xxx&b=zzz&c=123.45

是什么赋予了?我该如何制止这种疯狂?我的强迫症不能服用!

解决方法

正如@Falkon和@AVD所说,ASP.NET在< script>中自动执行“正确”的操作.标签.请参阅w3c建议 – C.12. Using Ampersands in Attribute Values (and Elsewhere)

In order to ensure that documents are compatible with historical HTML user agents and XML-based user agents,ampersands used in a document that are to be treated as literal characters must be expressed themselves as an entity reference (e.g. “&amp;“).

我不完全确定为什么ASP.NET在页面的其余部分不会做同样的事情(可能有很多好的理由),但至少它正在纠正脚本标记中的&符号.结论:虽然您可能正在诅咒ASP.NET以“扰乱”您的网址,但您可能要感谢它,而不是帮助您的网页符合标准.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读