2009-06-26 11 views
3

リンクをクリックして(asp:HyperlinkFieldから生成された)リンクをクリックして、ユーザをどこかにリダイレクトするのではなく、サーバ上でメソッドを呼び出させたいと思っています。誰でもこれを行う方法を知っていますか?代わりにLinkBut​​tonコントロール:asp:HyperlinkFieldにコールバック関数を割り当てるにはどうしたらいいですか?

おかげで、
マット

答えて

1

代わりに、asp:CommandFieldまたはasp:ButtonFieldを使用して、ButtonType = Linkを使用して、リンクフィールドと同じに見えるようにして、コードを実行するためにグリッド内のOnRowCommandイベントを処理できます。

+0

はい、私の答えのようなテンプレート列を追加する必要はありませんが、これは非常に簡単です:) – Canavar

1

は、ASPを使用してください。特定の理由がない限り、あなたはasp:Hyperlinkに接続していますか?

+0

いや、理由もなく、ちょうどそれが見えるようにしたくありませんでしたボタン。ありがとう。 – Matt

0

代わりにButtonFieldを使用し、ButtonType propertyをリンクに設定するのはなぜですか?ハイパーリンクのように見えます。

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 
    } 
} 
関連する問題