asp.net – 如何在使用服务器端分隔符时转义字符
所以,目前,在asp gridview中,我有以下内容
<span id="btnEdit" runat="server" onclick="ShowEditCriteriaFilterDialog('<%#Eval("intSMCID")%>','<%#Eval("strDescription")%>')" class="linkText">Edit</span> 我实际上正在寻找的是引号/双引号的语法来实际完成这一点,因为我上面的内容不能正常工作. 首先,如果我用单引号封装整个onclick,而不在其中放入任何其他引号,它可用于渲染目的,但是当我在运行时实际单击链接时,没有任何反应. 如果我使用双引号封装整个onclick,就像ASPX元素的大多数属性一样,它不能正确呈现,以及逗号之后的所有内容,它位于第一个<%#Eval%>之后语句在屏幕上显示为实际文本.这让我相信需要进行一些转义,以防止它认为点击处理程序在那个<%#Eval%>中间某处结束了.声明. 请注意,如果我拿走runat =“server”并将其封装在双引号中,那似乎工作得更好……但是我需要跨度作为服务器端控件,我在页面中有很多其他功能我需要通过FindControl访问控件的代码 解决方法
Eval函数需要双引号,因此您必须将属性值包装在单引号中.
您不能混合静态内容和<%#...%>使用runat =“server”控件的单个属性值中的块,因此您需要在单个<%#...%>内构建整个字符串.块. 在<%#...%>中的字符串中阻止,您可以使用&插入单引号: onclick='<%# string.Format( "ShowEditCriteriaFilterDialog("{0}","{1}")",Eval("intSMCID"),Eval("strDescription")) %>' 根据您的数据,您可能还需要对JavaScript的字符串值进行编码: onclick='<%# string.Format( "ShowEditCriteriaFilterDialog("{0}",HttpUtility.JavaScriptStringEncode(Eval("strDescription","{0}"))) %>' (为了便于阅读而包含的代码 – 它需要在一行上.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – IsAuthenticated适用于浏览器 – 但不适用于Air
- asp.net – 剑道:网格中的ComboBox – 将选定组合框的其他
- asp.net-mvc-3 – 使用MVC 3的Knockout java脚本库有哪些主
- 让 .NET 轻松构建中间件模式代码
- asp.net – 限制关于AJAX调用的视图状态信息
- 如何在ASP.NET中将文本框的宽度设置为与MaxLength相同
- asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibe
- asp.net-mvc – MVC @ Html.Display()
- asp.net-mvc – ASP.NET MVC中的HTML清理程序,用于过滤危险
- asp.net – MVC [HandleError] HandleErrorAttribute在使用
- asp.net-mvc – ASP.NET Web-API不序列化readonl
- Codebehind中的ASP.NET下拉列表与ASPX页面中的相
- ASP.NET Web.Config转换问题
- asp.net-mvc-3 – 定义WebActivator.PreApplicat
- asp.net – 更新面板不更新内容
- asp.net – UserControl Viewstate在回发后丢失所
- asp.net – 什么条件导致Web浏览器显示“Page Ex
- asp.net – 调用en外部javascript文件的函数
- SimpleMembership与ASP.NET MVC 4中的自定义数据
- asp.net-mvc – 即使我设置CustomError =“On”,