读书人

关于gridview的按钮,该怎么处理

发布时间: 2012-06-05 13:54:06 作者: rapoo

关于gridview的按钮
我想在gridview里添加一个按钮,点这个按钮后可以查看这一行信息更详细的信息。要怎么办呢?
我现在这样写,但是都说e.RowIndex缺少命名空间呢,但是我查过不少的啊~~

C# code
<asp:GridView ID="GridView1" runat="server"  AutoGenerateColumns="False"           Width="90%" AllowPaging="True" PageSize="15" style="margin-top:0px" AllowSorting="True"        onpageindexchanging="GridView1_PageIndexChanging"           onsorting="GridView1_Sorting" Font-Bold="True"           onrowcommand="GridView1_RowCommand" onrowediting="GridView1_RowEditing">        <Columns>                        <asp:BoundField DataField="local_name" HeaderText="地区" SortExpression="local_name"  />                             <asp:TemplateField>              <ItemTemplate>                    <asp:LinkButton ID="check_info" runat="server" CommandName="checks">查看详情</asp:LinkButton>                </ItemTemplate>                 </asp:TemplateField>            </Columns>      </asp:GridView>


后台代码就一句话,可是都说e.RowInde有问题
C# code
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)    {        Label3.Text =  GridView1.DataKeys[e.RowIndex].Value.ToString();           }


[解决办法]
RowCommand事件的GridViewCommandEventArgs 类型没有e.RowIndex的属性,你可以使用e.CommandArgument来传递Key


<asp:LinkButton ID="check_info" runat="server" CommandName="checks" CommandArgument='<%#Eval("ID") %>'>查看详情</asp:LinkButton>



protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName == "checks")
{
String id = e.CommandArgument.ToString();
}
}
[解决办法]
是主键

如果值也是唯一的,不用主键行
[解决办法]
int index = Convert.ToInt32(e.CommandArgument);

读书人网 >asp.net

热点推荐