如何在c#后台以编程方式创建asp:按钮(无需点击处理)



下面的按钮提供了我所需要的确切功能,但它必须以编程方式完成,因为我将基于一些变量创建多个,但对于后者,我可以确定是否可以创建下面的按钮作为启动程序:

<asp:Button runat="server" OnCommand="Load_Items" CommandArgument="1" text="Submit" />

更多关于我在这里做什么的信息。

编辑:

我看过这样的问题,但不知道从Button btnSave = new Button();到在页面上看到按钮的位置。此外,我发现的大多数问题似乎都是关于使用C#来处理点击,但我希望有一个OnCommand属性来处理它

如果我执行以下操作并使用开发工具搜索"btn",我将不会得到任何结果。

Button btnSave = new Button();
btnSave.ID = "btnSave";
btnSave.Text = "Save";
btnSave.CssClass = "btn";

以下是如何创建带命令的按钮事件。

创建后,您需要找到一种显示方式。以下示例使用PlaceHolder;如果你愿意,你也可以用Panel代替。

ASPX

<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>

代码隐藏

protected void Page_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 5; i++)
    {
        var button = new Button
        {
            ID = "Button" + i,
            CommandArgument = i.ToString(),
            Text = "Submit" + i
        };
        button.Command += Load_Items;
        PlaceHolder1.Controls.Add(button);
    }
}
private void Load_Items(object sender, CommandEventArgs e)
{
    int id = Convert.ToInt32(e.CommandArgument);
    // Do something with id
}

您的页面上需要一个容器控件。例如,尝试使用asp面板。然后在你的代码库中执行panel.controls.add(btnSave);别忘了在每次网站加载时都要这样做。http://support.microsoft.com/kb/317515/en-us

相关内容

  • 没有找到相关文章

最新更新