如何使用ASP.NET从网格视图中选择一行并在新的Web表单中编辑详细信息

本文关键字:一行 详细信息 编辑 表单 Web NET ASP 何使用 网格 视图 选择 | 更新日期: 2023-09-27 18:26:29

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

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

作为ASP的新手。网请详细告诉我最新情况。如果可能,请提供代码。

如何使用ASP.NET从网格视图中选择一行并在新的Web表单中编辑详细信息

事情会是这样的。

  1. 您将制作一个"列表"网络表单,其中包含包含网格视图的所有记录
  2. 制作另一个名为详细信息的网络表单
  3. 列表页上的网格视图将包含类似于以下内容的超链接按钮字段
<asp:HyperLinkField Text="View Details" DataNavigateUrlFields="YourId" DataNavigateUrlFormatString="details.aspx?id={0}" />

(注意,我只是重定向到详细信息页面,通过querystring.传递字段id

  1. 现在,在详细信息页面上,您只需要获取querystring值&使用datareader&填充您的详细信息页面。类似于页面加载
  if(Request.QueryString["id"])!=null) 
  {
      // Fetch respective item from database here & populate form fields  
        // Open connection(); execute datareader;populate form fields
   }

最简单的方法:

<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字符串Value后,我们可以将数据绑定到控件,然后在进行更改后更新数据。