如何在ASP.NET中注入包含&符号的脚本URL?
我有一个服务器控件,需要以编程方式将
JavaScript引用注入页面.它是引用Microsoft的Bing地图控件,它需要将& s = 1附加到脚本URL以供SSL使用.问题是.NET Framework对属性进行编码并更改&一个& amp; (用Reflector验证).之后的某个时刻&被完全删除.
期望的脚本标签: <script type="text/javascript" src="https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&s=1"> </script> 尝试1: var clientScriptManager = this.Page.ClientScript; if (!clientScriptManager.IsClientScriptIncludeRegistered(this.GetType(),"BingMapControl")) { clientScriptManager.RegisterClientScriptInclude( this.GetType(),"BingMapControl","https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&s=1"); } 尝试2: HtmlGenericControl include = new HtmlGenericControl("script"); include.Attributes.Add("type","text/javascript"); include.Attributes.Add("src","https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&s=1"); this.Page.Header.Controls.Add(include); 有任何想法吗? 解决方法
实际上,没有.实际上,您想要的脚本标记是: <script type="text/javascript" src="https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&s=1"> </script> 你确实想要&被编码为& amp ;.为什么?因为HTML标准是这样说的.例如,参见XHTML 1.0标准的第C.12. Using Ampersands in Attribute Values (and Elsewhere)节:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – MVC3 AntiForgeryToken打破了Ajax登录
- 上传经典ASP中的图像和目录中找不到的图像
- 在Build上自动停止/重新启动ASP.NET开发服务器
- asp.net – 如何使用Fiddler编辑HTTP请求
- asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLin
- asp.net – 在.net 3.5 SP1中设置表单的操作会在编译时导致
- asp.net – 自定义HttpModule在IIS7中集成,但不是经典模式
- Asp.Net(C#)内联编码Eval if语句
- asp.net-mvc – 什么是“IIS模拟HTTP请求”?
- asp.net-mvc – 使用局部视图渲染以逗号分隔的项目集的最优
- asp.net-mvc – 需要经过身份验证的用户的Ajax调
- asp.net – 更改MVC帐户数据库中的DefaultConnec
- asp.net-mvc – 有条件地在webgrid中显示图像 –
- ASP.NET MVC – 从helper方法获取ViewContext
- asp.net – 在不使用MVC的情况下在WebPages中渲染
- ASP.NET Core技术研究-全面认识Web服务器Kestrel
- asp.net-mvc-3 – MVC将JSON ViewModel传递给Vie
- asp.net-mvc – ASP MVC区域和ActionLink
- asp.net-mvc – 让RouteDebugger在404页面上工作
- asp.net – JSON字符串中的反斜杠