如何在单击gridview行时调用函数.这两个函数都放在aspx页面的脚本标记中

本文关键字:函数 aspx 脚本 两个 gridview 单击 调用 | 更新日期: 2023-09-27 18:11:18

我希望能够在单击gridview行时调用函数。如何进行

这是我处理点击网格视图行的地方

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
   {
 // somthing like
  // e.Row.Attributes["onclick"] = go to Myfunction;
//OR
 //  e.Row.Attributes.Add("onclick", Myfunction);
   }
}

这是我想称之为的函数

 protected void Myfunction(object sender, EventArgs e)
{
     int id = 0;
foreach (GridViewRow myrow in GridView1.Rows)
{
    RadioButton btn= (RadioButton)row.FindControl("RadioButton1");
    if (btn.Checked)
    { 
    id = Convert.ToInt32(GridView1.Rows[row.RowIndex].Cells[1].Text);
    }
}

如何在单击gridview行时调用函数.这两个函数都放在aspx页面的脚本标记中

protected void rdb_select_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton selectButton = (RadioButton)sender;
            GridViewRow row = (GridViewRow)selectButton.Parent.Parent;
            int a = row.RowIndex;
            foreach (GridViewRow rw in GridView1.Rows)
            {
                if (selectButton.Checked)
                {
                    if (rw.RowIndex != a)
                    {
                        RadioButton rd = rw.FindControl("rdb_select") as RadioButton;
                        rd.Checked = false;
                    }
                }
            }
        }

如果您使用带有更新面板的listbox,请尝试此操作。。

protected void DDLInclusions_SelectedIndexChanged(object sender, EventArgs e)
{
        string name = "";
        ListBox selectedValues = (ListBox)sender;
        GridViewRow row = (GridViewRow)selectedValues.NamingContainer;
        int a = row.RowIndex;
        foreach (GridViewRow rw in gvwRoomType.Rows)
        {
            if (rw.RowIndex == a)
            {
                ListBox lstRoomInclusions = rw.FindControl("DDLInclusions") as ListBox;
                for (int i = 0; i < lstRoomInclusions.Items.Count; i++)
                {
                    if (lstRoomInclusions.Items[i].Selected)
                    {
                        name += lstRoomInclusions.Items[i].Text + ",";
                    }
                }
                TextBox txtInclusions = rw.FindControl("txtRoomInclusions") as TextBox;
                txtInclusions.Text = name;
            }
        }
}
e.Row.Attributes.Add("onclick", Myfunction);

需要一个名为Myfunction的javascript函数,但您的"Myfunction"似乎是一个C#方法。

这应该是您的代码:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{ 
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
        //Add onclick attribute to select row.
        e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(YourFunction, "Select$" + e.Row.RowIndex.ToString()));
   }
}

引用链接:

ASP.NET网格视图行单击