如何为asp:HyperlinkField指定回调函数?
问题描述:
我希望人们点击一个链接(从asp:HyperlinkField生成),并让它在服务器上调用一个方法,而不是将用户重定向到某个地方。有人知道怎么做吗?如何为asp:HyperlinkField指定回调函数?
谢谢
马特
答
我会使用一个asp:CommandField或asp:ButtonField来代替并使用ButtonType = Link - 它看起来与您的linkfield相同,然后您可以在网格中处理OnRowCommand事件来运行您的代码。
答
使用ASP:LinkButton的代替。除非你有特殊的理由,否则你会连接到asp:Hyperlink?
+0
不,没有任何理由,只是不希望它看起来像一个按钮。谢谢。 – Matt 2009-06-26 19:42:30
答
HyperLinkField用于在数据绑定控件中生成简单的超链接。相反,您可以使用ButtonField。或者你可以定义你自己的链接TemplateField。
这里是生成链接栏的样品具有服务器端事件:
<asp:templatefield headertext="Link Column">
<itemtemplate>
<asp:LinkButton ID="myLink"
CommandName="MyLinkCommand"
CommandArgument='<%#Bind("TableID") %>'
runat="server">My Link</asp:LinkButton>
</itemtemplate>
</asp:templatefield>
在后面的代码:
protected void YouGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MyLinkCommand")
{
// Do stuff
}
}
是的,你是对的,不需要添加模板列(如我的回答),这是一个非常简单的:) – Canavar 2009-06-26 19:56:27