在GridView中添加按钮后,如何触发按钮的各种事件?
1.在GridView的“编辑列”属性窗口中,增加新的Botton列。
2.然后再该窗口右边属性中,将外观项下的ButtonType设置一下,设置项有:如:Link、Button、Image。
3.属性设置完成后,在右边属性列表窗口的下方有这样一行超链接蓝字:“将此字段转换为TemplateField”,单击这个超链接,把该列插入进来的字段转换为模版。
//添加了一个删除控件,并将其转换为模版后的代码,该控件还和在GridView所在行的主键进行绑定,把主键作为参数带到该控件的各个事件函数中。
<asp:TemplateField ShowHeader="False" HeaderText="删除">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument=<%# eval_r("ClientID") %>
OnClick="LinkButton1_Click" Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
//这是一个没有绑定字段值的新增Button列,将其装换为模版后的代码如下:
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button2" runat="server" CausesValidation="false" CommandName="" Text="按钮" OnClick="Button2_Click" />
</ItemTemplate>
</asp:TemplateField>
4. 然后即可在编辑模版状态下,编辑、设置这个控件的各种事件了,比如双击这个控件按钮,系统则会自动在.cs文件中添加该控件的OnClick事件触发的函数。
另:在cs文件中调用Gridview中按钮绑定的值:
2 {
3 SqlConnection myconn;
4 SqlCommand mycommand;
5 myconn = new SqlConnection(ConfigurationManager.ConnectionStrings["BaseConnectionString"].ConnectionString);
6 string sql = "update Bbs_Message set ISTOP=1 where Bbs_MessageIS=" + ((LinkButton)sender).CommandArgument.ToString();
7 //Response.Write(sql);
8 myconn.Open();
9 mycommand = new SqlCommand(sql, myconn);
10 mycommand.ExecuteNonQuery();
11 myconn.Close();
12
13 Response.Redirect("SQS_ADD3.aspx?XkzSqsID=" + Request.QueryString["XkzSqsID"].ToString());
14 }
补充说明:
Button.CommandArgument
获取或设置可选参数,该参数与关联的 CommandName 一起被传递到 Command 事件.
使用 CommandArgument 属性来指定补充 CommandName 属性的参数。
注意 尽管可以单独设置 CommandArgument 属性,但该属性通常只在也设置了 CommandName 属性时才使用。
CommandArgument 属性通过使您可以提供有关要执行的命令的附加信息,对 CommandName 属性加以补充。例如,如果将 CommandName 属性设置为 Sort,并将 CommandArgument 属性设置为 Ascending,则指定了按升序进行排序的命令。