<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><script runat="server"> protected void grdMovieCategories_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Int32.Parse((string)e.CommandArgument); int id = (int)grdMovieCategories.DataKeys[index].Values["Id"]; int position = (int)grdMovieCategories.DataKeys[index].Values["Position"]; switch (e.CommandName) { case "Up": position--; break; case "Down": position++; break; } srcMovieCategories.UpdateParameters["Id"].DefaultValue = id.ToString(); srcMovieCategories.UpdateParameters["Position"].DefaultValue = position.ToString(); srcMovieCategories.Update(); }</script><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>Show ButtonField</title></head><body> <form runat="server"> <div> <asp:GridView DataSource DataKeyNames="Id,Position" AutoGenerateColumns="false" OnRowCommand="grdMovieCategories_RowCommand" Runat="server"> <Columns> <asp:ButtonField Text="Move Up" CommandName="Up" /> <asp:ButtonField Text="Move Down" CommandName="Down" /> <asp:BoundField DataField="Position" HeaderText="Position" /> <asp:BoundField DataField="Name" HeaderText="Category Name" /> </Columns> </asp:GridView> <asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:Movies %>" SelectCommand="SELECT Id, Name, Position FROM MovieCategories ORDER BY Position" UpdateCommand="UPDATE MovieCategories SET Position=@Position WHERE Id=@Id" Runat="server"> <UpdateParameters> <asp:Parameter Name="Id" /> <asp:Parameter Name="Position" /> </UpdateParameters> </asp:SqlDataSource> </div> </form></body></html>
例如这么一个程序,e.CommandArgument怎么取出来行序列的?又没有定义过CommandArgument的值
2 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
是在这里定义的:
<asp:ButtonField Text="Move Up" CommandName="Up" /> <asp:ButtonField Text="Move Down" CommandName="Down" />
- 2 回答
- 0 关注
- 534 浏览
添加回答
举报
0/150
提交
取消