如何从GridView中获取选定的值(C#)

时间:2010-05-15 03:55:17

标签: c# asp.net gridview entitydatasource

我有GridView允许选择。它需要EntityDataSource的数据。如何选择GridView中的行时选择的实体对象? 实体的主键不会显示在GridView

感谢您的回答

4 个答案:

答案 0 :(得分:1)

如果您在gridview中使用模板字段,则可以在selectAndgument属性中传递主键以用于select命令。例如:

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="btnSelect" runat="server" Text="Select"                                  CommandName="select" CommandArgument='<%# Eval("My_Primary_Key") %>' />
    </ItemTemplate>
</asp:TemplateField>

然后,当用户单击“选择”按钮时,会在您的gridview上触发“RowCommand”事件。如果您捕获此事件并检查e.CommandArgument属性,您将能够访问与其选择的行对应的主键:

protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName.Equals("select", StringComparison.CurrentCultureIgnoreCase))
    {
        int primaryKeyInteger = Convert.ToInt32(e.CommandArgument);
        // Do other stuff ...
    }
}

希望这有帮助!

答案 1 :(得分:0)

您可以使用网格视图的DataKeyNames字段属性,也可以放置隐藏值并将数据绑定到数据绑定事件。使用隐藏字段Gridview选择事件,您搜索找到隐藏字段并从那里获取值。谢谢 以下链接将为您提供帮助。

http://forums.asp.net/t/951615.aspx

答案 2 :(得分:0)

您可以在gridview中使用隐藏控件来隐藏主键

答案 3 :(得分:0)

你可以使用主键去数据库用主键搜索记录。然后在程序中使用一个类来接收数据。(c#是属性)