1

我有GridView允许选择。它从EntityDataSource. 如何获取选择行时选择的实体对象GridView?实体的主键不显示在GridView.

感谢您的回答

4

4 回答 4

1

如果您在网格视图中使用模板字段,则可以在 CommandArgument 属性中为您的选择命令传递主键。例子:

<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 ...
    }
}

希望这可以帮助!

于 2010-05-15T05:12:36.273 回答
0

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

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

于 2010-05-15T04:03:02.460 回答
0

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

于 2010-05-15T04:37:46.950 回答
0

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

于 2010-05-16T08:14:49.663 回答