C#如何打印asp:按钮

时间:2015-01-01 19:02:50

标签: c# asp.net

我目前正在开发一个小程序,它从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:按钮它没有显示,但是常规的Html按钮确实如此,为什么这样,是否有办法打印出一个asp:按钮?

1 个答案:

答案 0 :(得分:0)

你不能按照你想要的方式渲染一个asp.net按钮,你需要使用常规的html按钮。

asp:按钮是asp.net在构建页面时解释的内容;当你执行_Click函数时,它在页面生命周期中为时太迟而无法呈现asp.net控件 - 所以HTML按钮是你在页面执行中唯一的选择。

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

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