我希望人们点击链接(从asp:HyperlinkField生成)并让它在服务器上调用方法,而不是将用户重定向到某个地方。有谁知道怎么做?
谢谢,
马特
答案 0 :(得分:1)
使用asp:LinkButton代替。除非有特殊原因你附加到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?它看起来就像一个超链接。