2009-06-26 109 views

回答

1

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

+0

是的,你是对的,不需要添加模板列(如我的回答),这是一个非常简单的:) – Canavar 2009-06-26 19:56:27

1

使用ASP:LinkBut​​ton的代替。除非你有特殊的理由,否则你会连接到asp:Hyperlink?

+0

不,没有任何理由,只是不希望它看起来像一个按钮。谢谢。 – Matt 2009-06-26 19:42:30

0

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

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