如何为asp:HyperlinkField分配回调函数?

时间:2009-06-26 19:36:42

标签: asp.net gridview callback hyperlink

我希望人们点击链接(从asp:HyperlinkField生成)并让它在服务器上调用方法,而不是将用户重定向到某个地方。有谁知道怎么做?

谢谢,
马特

4 个答案:

答案 0 :(得分:1)

使用asp:LinkBut​​ton代替。除非有特殊原因你附加到asp:Hyperlink?

答案 1 :(得分:1)

我会使用asp:CommandField或asp:ButtonField而使用ButtonType = Link - 它看起来与你的linkfield相同,然后你可以在你的网格中处理OnRowCommand事件来运行你的代码。

答案 2 :(得分:1)

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
    }
}

答案 3 :(得分:0)

为什么不使用ButtonField而将ButtonType property设置为Link?它看起来就像一个超链接。