2

ここにあるコードを使用して、グリッドビューにクリック可能な行を作成しています。そのためのコードは次のとおりです。

    protected void gvdownloadaccounts_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        e.Row.Cells[0].Visible = false; //hide the ID

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes["onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';";
            e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
            e.Row.ToolTip = "Click to select row";
            e.Row.Attributes["onclick"] = this.Page.ClientScript.GetPostBackClientHyperlink(this.gvdownloadaccounts, "Select$" + e.Row.RowIndex);
        }
    }

...これはうまく機能します!...「onclick」がコードビハインドでC#メソッドを実行するようにする必要があることを除いて。このメソッドはデータベースからデータを取得し、一部のWebコントロール(テキストボックスなど)にそのデータを入力します。これはそれほど難しいことではないように思われるので、誰かが私に正しい方向へのキックを与えることができれば、それは素晴らしいことです。

同じページにリダイレクトするというアイデアをいじっていましたが、クエリ文字列を使用すると、page_loadでコードをキャッチできました。しかし、予想されるように:

e.Row.Attributes["onclick"] = Response.Redirect("www.google.com");

...動作しません。

4

1 に答える 1

2

マークアップ

<asp:Button ID="btn" runat="server" style="display:none;" OnClick="Btn_Click" OnClientClick="UpdateControl();"/>

// このボタンは非表示になります。クリックを実行し、コード ビハインドでそのハンドラー内の関数を呼び出すと便利です。ハンドラーで、C# メソッドを呼び出すコードを記述します。

Java スクリプト

//非表示ボタンのクリックを実行します。

<script language="javascript" type="text/javascript">
    function PerformClick() {
        document.getElementById('<%=btn.ClientID %>').click();
    }
</script>

個々の行のクリックごとに C# メソッドをどのように呼び出しますか?

e.Row.Attributes["onclick"] = "<script language='javascript' type='text/javascript'>function PerformClick() {document.getElementById('<%=btn.ClientID %>').click();</script>";

于 2012-04-13T06:30:26.450 に答える