单击网格视图中的行时回发

本文关键字:网格 视图 单击 | 更新日期: 2023-09-27 18:31:03

我正在使用此处找到的代码来使我的网格视图具有可单击的行。 其代码是:

    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");

。不行。

单击网格视图中的行时回发

标记

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

此按钮将被隐藏。执行单击并在代码中调用其处理程序中的函数将很有用。现在,在处理程序中编写代码以调用 c# 方法。

爪哇脚本

/

/穿孔隐藏按钮的单击。

<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>";