1

我想要完成的是,当我单击gridview 中的按钮时,该特定行的值必须显示在textlabels lblID、lblName 中......
我只是不知道该怎么做。
这是我的 sqldatasource 的代码:

<asp:SqlDataSource ID="srcProd" runat="server"  
ConnectionString="<%$ ConnectionStrings:ConnDB %>"   
ProviderName="<%$ ConnectionStrings:ConnDB.ProviderName %>"   
SelectCommand="SELECT p.tProdID, p.tProdImage, p.tProdBeschrijving, m.tMerkNaam, m.tMerkImage,   p.tProdVerkoop FROM tblProducten AS p INNER JOIN tblMerken AS m ON p.tMerkID = m.tMerkID ORDER BY m.tMerkNaam">  
</asp:SqlDataSource>

这是我正在谈论的 gridview 的屏幕截图。 这是一个gridview屏幕截图

当我按下其中一个按钮时,我想要例如在 lblID 中显示的参数 ID。

感谢所有帮助、提示和技巧。

4

2 回答 2

4

为按钮分配一个CommandName(类似于“ShowDetails”左右)和一个CommandArgument(记录的ID)。现在,单击按钮将触发网格RowCommand事件,将CommandNameCommandArgumentin传递给您e。然后从您的数据库中获取记录并填充您的控件:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Button runat="server" Text="Foo2" CommandArgument='<%# Eval("RowID") %>'
            CommandName="ShowDetails" />
    </ItemTemplate>
</asp:TemplateField>


protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    Debug.WriteLine("Command Handler");
}
于 2012-05-02T13:47:10.757 回答
1

所以基本上这可以通过两种方式完成:

  1. 在按钮后面添加服务器端点击处理程序并更新 UpdatePanel 内的标签(这种情况下我们不需要回发)
  2. 在按钮的“OnClientClick”事件上添加一些javascript来设置这个标签……这个方法可以在GridView的绑定方法中设置。

希望这可以帮助。

于 2012-05-02T13:39:57.343 回答