hyperLinkField中的DataNavigateUrlFormatString属性不正执行javascript的解决办法
2011-07-31 14:42
781 查看
今天在做案子时候遇到用gridView控件时,想在里面有一个hyperlink,点击后弹出窗口再显示另外页面。可是在用DataNavigateUrlFormatString属性时,发现
<hyperlinkFiled DataNavigateUrlFormatString="javascript:window.open('abc.aspx?...."这样写后,原来可以点击的hyperlink变成不可点击了。上网找有文章说是这是微软的Bug.在DataNavigateUrlFormatString中不能有“:”。网上给出的解决办法有两种:一种是将上述代码用itemTemplate来代替:
http://blogs.msdn.com/b/jjameson/archive/2009/10/26/datanavigateurlformatstring-does-not-allow-javascript.aspx
另外一种是用DataTextFormatString代替DataNavigateUrlFormatString。
http://www.vbforums.com/showthread.php?t=521952
<asp:HyperLinkField DataTextField="ID Control" DataTextFormatString="<a href=javascript:openWindow('{0}');>View</a>" />
<hyperlinkFiled DataNavigateUrlFormatString="javascript:window.open('abc.aspx?...."这样写后,原来可以点击的hyperlink变成不可点击了。上网找有文章说是这是微软的Bug.在DataNavigateUrlFormatString中不能有“:”。网上给出的解决办法有两种:一种是将上述代码用itemTemplate来代替:
http://blogs.msdn.com/b/jjameson/archive/2009/10/26/datanavigateurlformatstring-does-not-allow-javascript.aspx
<asp:GridView ID="summaryGrid" runat="server" AutoGenerateColumns="False" ...> ... <Columns> <%-- HACK: Ideally, we would just use an asp:HyperLinkField, but there's a bug when specifying "javascript:" in the DataNavigateUrlFormatString: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102300 As a workaround, use a TemplateField instead. --%> <asp:TemplateField> <HeaderTemplate>Date</HeaderTemplate> <HeaderStyle CssClass="dateColumn" /> <ItemTemplate> <a href='javascript:ShowItemDetail(<%# Eval("Id")%>)'> <%# Eval("CreateTime", "{0:ddd MMM dd HH:mm}") %> </a> </ItemTemplate> </asp:TemplateField> ... </Columns> </asp:GridView>
另外一种是用DataTextFormatString代替DataNavigateUrlFormatString。
http://www.vbforums.com/showthread.php?t=521952
<asp:HyperLinkField DataTextField="ID Control" DataTextFormatString="<a href=javascript:openWindow('{0}');>View</a>" />
相关文章推荐
- 以编程方式指定Gridview的HyperLinkField的属性DataNavigateUrlFormatString
- GridView的HyperLinkField的DataNavigateUrlFormatString如何使用自定义的变量,而不是数据库绑定的值
- GridView的HyperLinkField的DataNavigateUrlFormatString如何使用自定义的变量,而不是数据库绑定的值.报错:指定的参数已超出有效值的范围。参数名: index
- DataFormatString属性语法介绍及解决DataFormatString无效的问题
- How To contain multiple fileds in the querystrig, DataNavigateUrlFormatString=xxx.asp?ID={0}&Name={1}
- DataFormatString="{0:yyyy-MM-dd}"不好用解决办法
- Asp.Net2.0中GridView的DataFormatString="{0:yyyy-MM-dd}"不起作用解决办法
- DataNavigateUrlFormatString的使用方法
- 执行Hive时出现org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.NumberFormatException: For input string: "1s"错误的解决办法(图文详解)
- DataFormatString属性语法介绍及解决DataFormatString无效的问题
- GridView中的DataFormatString失效解决办法
- DataNavigateUrlFormatString
- Asp.Net2.0中GridView的DataFormatString="{0:yyyy-MM-dd}"不起作用解决办法
- DataNavigateUrlFormatString的使用方法
- DataFormatString属性语法介绍及解决DataFormatString无效的问题
- 【Vegas原创】GridView设定DataFormatString属性失效的解决方法
- DataFormatString属性语法介绍及解决DataFormatString无效的问题
- DataNavigateUrlFormatString 传多个参数
- DataFormatString属性语法介绍及解决DataFormatString无效的问题
- 【Vegas原创】GridView设定DataFormatString属性失效的解决方法