0

onClientClickこれにイベントを追加するにはどうすればよいですか

<a href="javascript:__doPostBack('ctl00$m$g_8dbaa58f_d132_4042_b180_3c555d885dde$ctl00$GridView1','Delete$0')">Delete</a>

コマンドフィールドなGridviewので、直接取得できませんでした。詳細については、この質問を確認してください

4

2 に答える 2

1

gridview の RowDataBound イベントをサブスクライブし、アイテムの Controls コレクションでアンカー タグを検索します。

    protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        // this will apply the action in the lambda expression to all controls or sub-controls of the row matching type LinkButton  
        // (you may have a different control type and you may want to alter your lambda expression to check that the control matched is really the control you want to manipulate)
        SearchControls<LinkButton>(e.Row, button => button.OnClientClick = "alert('here');");
    }

    // recursive Control search function
    private void SearchControls<T>(Control start, Action<T> itemMatch)
    {
        foreach (var c in start.Controls.OfType<T>())
            itemMatch(c);

        foreach (var c in start.Controls.OfType<Control>())
            SearchControls<T>(c, itemMatch);
    }
于 2013-05-01T09:46:37.637 に答える