C# 如何获取gridview的html列以从数据库中预填充表单?

C# 如何获取gridview的html列以从数据库中预填充表单?,c#,jquery,html,asp.net,gridview,C#,Jquery,Html,Asp.net,Gridview,我有一个asp.net网络表单,它有一些复选框和文本框,提交时数据存储在SQL server上 我有一个单独的webform,它由gridview组成,gridview由表单中的数据组成 我想在gridview中添加一个额外的列,其中每个记录都有一个html链接,根据提交到数据库的数据重新加载和填充表单 ASP.NET: <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID=

我有一个asp.net网络表单,它有一些复选框和文本框,提交时数据存储在SQL server上

我有一个单独的webform,它由gridview组成,gridview由表单中的数据组成

我想在gridview中添加一个额外的列,其中每个记录都有一个html链接,根据提交到数据库的数据重新加载和填充表单

ASP.NET:

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID="GridDataSource">
    <Columns>
        <asp:BoundField DataField="SiteID" HeaderText="ID"></asp:BoundField>
        <asp:BoundField DataField="Name" HeaderText="Name"></asp:BoundField>
        <asp:BoundField DataField="Date" HeaderText="Date"></asp:BoundField>
    </Columns>
</asp:GridView>

正如您在代码中看到的,我的问题是,它只会返回SiteID=500的值。我希望html列将SiteID与每个记录相关联,当单击链接时,它会打开带有该SiteID中填充数据的表单。这可能吗?我希望我在这里讲得有道理。

您可以使用
模板字段来实现这一点。在该模板中,您可以创建一个指向详细信息页面的链接,或者如果该页面位于同一页面上,则可以创建一个带有正确
SiteID

<Columns>
    <asp:TemplateField HeaderText="Link">
        <ItemTemplate>
            <a href="/Details?SiteID=<%# Eval("SiteID") %>">Click here</a>

            <asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command" CommandArgument='<%# Eval("SiteID") %>'>Click here</asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

点击这里

感谢VDWWD的建议。现在我似乎有另一个问题。当我点击链接时,虽然我在地址栏中看到了它,但它并没有做任何更改。我确信这是因为我的代码隐藏中有一行:cmd.Parameters[“@SiteID”].Value=500;我应该把它改成什么?我想出来了。我需要添加字符串SiteID=Request.QueryString[“SiteID”];另外,我需要将500更改为SiteID。
<Columns>
    <asp:TemplateField HeaderText="Link">
        <ItemTemplate>
            <a href="/Details?SiteID=<%# Eval("SiteID") %>">Click here</a>

            <asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command" CommandArgument='<%# Eval("SiteID") %>'>Click here</asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>