GridView中HyperLinkField的链接使用JavaScript问题

本来写好的程序,突然增加需求说要点链接以后刷新父页面并弹出窗口,弹出可以直接用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

posted @ 2008-11-19 10:04  学途  阅读(2292)  评论(0编辑  收藏  举报