【问题标题】:How to select a row from grid view and edit the details in a new webform using ASP.NET如何从网格视图中选择一行并使用 ASP.NET 在新的 Web 表单中编辑详细信息
【发布时间】:2012-03-02 08:00:36
【问题描述】:

我已经在网格视图中显示了一些字段,现在我想选择一行,我想在各个控件(文本框、下拉菜单)中显示数据后,将所有字段从 sql server 显示到 Web 表单中,我想要更新它。

在从网格视图中选择相应的行后(使用主键),我如何将页面重定向到新网页。以及如何在各个字段的页面加载时传递数据,以便我可以使用更新查询对其进行更新。

因为我是 ASP 的新手。网。请详细更新我。如果可能,请提供代码。

【问题讨论】:

  • 请不要在标题中添加“(C#)”之类的内容。这就是标签的用途。此外,您应该更喜欢 [c#] 等通用标签之一,而不是 [c#-4.0] 等特定于版本的标签,除非您的问题特定于该版本。

标签: c# asp.net .net sql-server-2008


【解决方案1】:

它会变成这样。

  1. 您将制作一个 'list' 网络表单,其中包含所有包含 gridview 的记录
  2. 制作另一个名为 details 的网络表单
  3. 列表页面上的 gridview 将包含一个类似这样的超链接按钮字段
<asp:HyperLinkField Text="View Details" DataNavigateUrlFields="YourId" DataNavigateUrlFormatString="details.aspx?id={0}" />

(请注意,我只是重定向到使用查询字符串传递字段 id 的详细信息页面。

  1. 现在,在详细信息页面上,您只需获取查询字符串值并使用数据读取器查询您的数据库并填充您的详细信息页面。 类似于页面加载时的内容
  if(Request.QueryString["id"])!=null) 
  {
      // Fetch respective item from database here & populate form fields  
        // Open connection(); execute datareader;populate form fields
   }

【讨论】:

    【解决方案2】:

    最简单的方法:

    <asp:GridView ID="grd" runat="server" autogeneratedcolumn="false">
    <asp:TemplateField HeaderText="ID">
    <ItemTemplate>
    <%#Eval("ID")%>
    <ItemTemplate>
    <asp:TemplateField>
    <asp:TemplateField HeaderText="Name">
    <ItemTemplate>
    <%#Eval("ID")%>
    <ItemTemplate>
    <asp:TemplateField>
    <asp:TemplateField HaderText="Edit">
    <ItemTemplate>
    <a href='EditData.aspx?ID=<%#Eval("ID")%>'>Edit</a> 
    </ItemTemplate>
    <asp:TemplateField>
    <asp:GridView>
    

    EditData.aspx 页面将用于编辑数据。接收到Query-string Value后,我们可以将数据绑定到控件上,修改后更新数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      相关资源
      最近更新 更多