【发布时间】:2009-06-26 19:36:41
【问题描述】:
我希望人们单击链接(从 asp:HyperlinkField 生成)并让它调用服务器上的方法,而不是将用户重定向到某个地方。有人知道怎么做吗?
谢谢,
马特
【问题讨论】:
标签: asp.net gridview callback hyperlink
我希望人们单击链接(从 asp:HyperlinkField 生成)并让它调用服务器上的方法,而不是将用户重定向到某个地方。有人知道怎么做吗?
谢谢,
马特
【问题讨论】:
标签: asp.net gridview callback hyperlink
我会改用 asp:CommandField 或 asp:ButtonField 并使用 ButtonType=Link - 这看起来与您的链接字段相同,然后您可以处理网格中的 OnRowCommand 事件来运行您的代码。
【讨论】:
改用 asp:LinkButton。除非有特殊原因您附加到 asp:Hyperlink?
【讨论】:
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
}
}
【讨论】:
为什么不使用 ButtonField 并将 ButtonType property 设置为链接?它看起来就像一个超链接。
【讨论】: