【问题标题】:how to send an id value from a gridView to the database?如何将 id 值从 gridView 发送到数据库?
【发布时间】:2012-04-03 17:42:55
【问题描述】:

我在 .aspx 页面上有一个 GridView,其中有一个隐藏列,该列具有 ID 值。当用户点击某一行时,我需要后面的C#代码上的ID列值,这样我就可以查询数据库并用这个ID对应的数据填充另一个视图。我的问题是,我可以在行的 onClick 事件中将此 ID 值传递给一个 javascript 函数,但是如何将它传递给我可以实际查询 SQL Server 数据库的代码?

【问题讨论】:

  • 请告诉我们您使用的技术堆栈,并展示您现有的代码。
  • 我不确定要显示什么代码,这只是一个简单的网格视图。我已经编辑了答案以添加一些技术。

标签: javascript .net gridview


【解决方案1】:

您可以使用 datagrid 控件的 datakeynames 属性指定包含 ID 的列

<asp:gridview 
id="grvTest" 
autogeneratecolumns="true" 
datakeynames="ID" 
runat="server">

//获取选中行的值

void grvTest_SelectedIndexChanged(object sender, EventArgs e)

{

// Determine the index of the selected row.
int index = CustomersGridView.SelectedIndex;


//Display the primary key value of the selected row.
 Message.Text = "The key value of the selected row is " +
    grvTest.DataKeys[index].Value.ToString();

}

【讨论】:

    【解决方案2】:

    根据您提供的信息,这是我的建议。

    为了澄清,您说“当用户点击某个 时,您希望 ID column 值...”。这是正确的还是您的意思是说您想要行值?

    无论哪种方式,都适用相同的基本规则。

    这是 CodeProject 中的一个示例,它概述了您需要做什么。

    http://www.codeproject.com/Articles/50080/Extended-ASP-NET-GridView-with-cell-click-events

    【讨论】:

      【解决方案3】:

      我就是这样解决的-

      使用 - 获取选定的行索引 e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.GridView2, "Select$" + e.Row.RowIndex);

      在 Grid 的 SelectedIndexChanged 事件中 - GridView2.SelectedRowStyle.BackColor = System.Drawing.Color.LightGray; 字符串 id = GridView2.SelectedRow.Cells[0].Text;

      Cells[0] 是我的隐藏列,其中包含 ID 值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-09
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        相关资源
        最近更新 更多