本来写好的程序,突然增加需求说要点链接以后刷新父页面并弹出窗口,弹出可以直接用Target属性,在网上查了查,DataNavigateUrlFields并不支持JavaScript,在别人博客上还找到了后台绑定数据的方法,感觉改动太大,后来在一个老外的博客上找到了个方法,使用了GridView的TemplateField。
原代码:<asp:HyperLinkField DataNavigateUrlFields="ItemUrl" DataTextField="ItemName" HeaderText="标 题"
Target="_blank">
<ItemStyle HorizontalAlign="Left" Width="60%" />
</asp:HyperLinkField>
修改后代码: <asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="标 题" SortExpression="标 题">
<ItemTemplate>
<asp:HyperLink runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "ItemUrl")%>'
Text='<%# DataBinder.Eval(Container.DataItem, "ItemName")%>' />
</ItemTemplate>
</asp:TemplateField>
在后台直接把"javascript:document.execCommand('Refresh');window.open(url);"赋值给ItemUrl就可以了。
另一个后台绑定的方法http://hi.baidu.com/nthulu/blog/item/5e3197cb42d9f2fe52664f94.html