【问题标题】:ASP.NET Dynamic Button?ASP.NET 动态按钮?
【发布时间】:2018-10-10 23:19:51
【问题描述】:

我找不到我的问题的解决方案。 我正在做网店。 我有我从数据库中获取的产品列表。我正在使用 foreach 将它们全部发送到 html

<% foreach (var product in productList) { %>
            <h1><%= product.Name  %>  &nbsp;

我希望每个产品都有“立即购买”按钮,点击后希望在发件人中有 id 产品属性。 最好的方法是什么?

【问题讨论】:

  • 这段代码有点过时了。为什么不使用服务器端控件?

标签: c# asp.net button dynamic


【解决方案1】:

生成具有不同 ID 和属性的按钮,从而在后面的代码中产生相同的 OnClick 方法。

在后面的代码中:

// Generate elements for each product  
foreach (var product in productList)  
{  
   Button btn = new Button();  
   btn.CommandArgument = product.ID; // This would be your product ID  
   btn.Text = "Buy Now";  
   btn.Click += Btn_Click;  

   this.Products.Controls.Add(btn);  
}

在标记中:

<div id="Products" runat="server">
</div>

或者使用 WebHandler (.ashx) 作为端点来检索请求并处理返回数据。对异步也很有帮助。

【讨论】:

  • 但是如何从“产品”中放入 asp:Button 的 ID 属性?
  • 在后面的代码中而不是在标记中生成您的按钮,并使用CommandArgument 属性将其设置为产品 ID 值。然后在点击事件中你会得到事件 sender.CommandArgument 值
  • 以及如何在html中发送每个产品的每个按钮?
  • Something.Controls.Add 适用于 asp 元素。 div 不是 asp 的。 div 有替代品吗?
  • 这不是真的。因为 runat="server" 您可以完全按照我的回答中的说明动态添加元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 2011-07-28
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多