C# 如何打印 asp:buttons

C# how to print asp:buttons

我目前正在开发一个从 mongoDB 获取数据并将其与其他数据匹配的小程序。我的程序当前正在打印数据,但它需要添加一个具有唯一 ID 的 <asp:button />,以便我可以保存每个产品的数据。

这是我的代码:

public void showCoolers_Click(object sender, EventArgs e)
{
    var items = "";
    var connectionString = "mongodb://localhost:27017/";
    var mongoClient = new MongoClient(connectionString);
    MongoServer server = mongoClient.GetServer(); 
    MongoDatabase database = server.GetDatabase("mydb");
    MongoCollection<cpuCoolers> collection = database.GetCollection<cpuCoolers>("cpucoolers");
    foreach (cpuCoolers parts in collection.FindAll())
    {
        String _id = parts._id.ToString();
        items = items + "<tr><td>" + parts.Aanbieder + "</td><td> " + parts.Productnaam + "</td><td>" +  parts.Socket + "</td><td> " + parts.Geluidsterkte + "</td><td> " + parts.Prijs +"</td><td><asp:Button ID='x' runat='server' Text='Motherboard' CssClass='btn btn-block btn-primary'/></td></tr>";
    }
    lblProducts.Text = "<table><thead><tr><th>Provider</th><th>Productname</th><th>Socket</th><th>Sound production</th><th>Price</th><th>Add to MyPc!</th></thead>" + items + "</table>";
}

我通过更改我的 aspx 文件中 lblProduct.Text 的内容来打印我的数据。如果我向其中添加 asp:button,它不会显示,但是常规的 Html 按钮会显示,这是为什么,有没有办法打印出 asp:button?

您无法按照您尝试的方式呈现 asp.net 按钮,您发现需要使用常规 html 按钮。

asp:button 是 asp.net 在构建页面时解释的内容;当您执行 _Click 函数时,在页面生命周期中呈现 asp.net 控件为时已晚 - 因此 HTML 按钮是您在页面执行时的唯一选择。

下面是 asp.net 页面生命周期的概述,可能有助于您更好地理解它:

http://msdn.microsoft.com/en-us/library/ms178472%28v=vs.100%29.aspx