GridView.RowCommand 事件 GridView.DataKeys 属性
2008-04-22 19:52
在单击 GridView 控件中的按钮时,将引发 RowCommand 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义例程。
GridView 控件中的按钮也可调用该控件的某些内置功能。若要执行这些操作之一,请将按钮的 CommandName 属性设置为下表中的某个值。
尽管单击上表中所列出的按钮时将引发 RowCommand 事件,但仍建议您使用该表中列出的事件来执行该操作。
将 GridViewCommandEventArgs 对象传递到事件处理方法,以便您可以确定被单击按钮的命令名和命令参数。
注意 |
---|
GridViewCommandEventArgs 类未包含一个用于指示单击按钮所在行的属性。如果需要知道哪个行引发了事件,请使用 CommandArgument 属性将行的索引传给事件处理方法。 |
GridView.DataKeys 属性
属性值
类型:System.Web.UI.WebControls..::.DataKeyArray
一个 DataKeyArray,其中包含 GridView 控件中每一行的数据键。
 备注
代码:前台加两个模板列后台代码如下
- protected void GridMeetRoom_RowDataBound(object sender, GridViewRowEventArgs e)
- {
- if (e.Row.RowType == DataControlRowType.DataRow)
- {
- GridViewRow myrow = e.Row;
- string RoomId = GridMeetRoom.DataKeys[myrow.RowIndex].Value.ToString();
- LinkButton lnk = (LinkButton)e.Row.FindControl("lnkDetail");
- lnk.Attributes.Add("OnClick", "window.showModalDialog('MeetRoomDetails.aspx?oomId=" + RoomId + "','','')");
- LinkButton lnk2 = (LinkButton)e.Row.Cells[3].FindControl("lnkBook");
- lnk2.CommandArgument = e.Row.RowIndex.ToString();
- Button btn = (Button)e.Row.Cells[3].FindControl("Book");
- btn.CommandArgument = e.Row.RowIndex.ToString();
- }
- }
- protected void GridMeetRoom_RowCommand(object sender, GridViewCommandEventArgs e)
- {
- if (e.CommandName == "Book")
- {
-
-
-
- int index = Convert.ToInt32(e.CommandArgument);
- string RoomId = GridMeetRoom.DataKeys[index].Value.ToString();
- string url = "MeetRoomBook.aspx?RoomId=" + RoomId + "";
- Response.Redirect(url);
- }
- if (e.CommandName == "BookInfo")
- {
-
- int index = Convert.ToInt32(e.CommandArgument);
- string RoomId = GridMeetRoom.DataKeys[index].Value.ToString();
- string url = "MeetRoomBookInfo.aspx?RoomId=" + RoomId + "";
- Response.Redirect(url);
- }
- }
|