如何在运行时编写asp按钮控件?

时间:2012-02-22 06:52:30

标签: asp.net

我正在按下下面的按钮控件。 我有一个方法,有一些像我提到的下面的代码。 我尝试过两种方式,但都不起作用。用btn对象onw,第二用直接写它。 我需要在N个项目的运行时间创建所有三个按钮,所有按钮将有一些常见的东西,除了身份。请建议我如何使它工作。

 Button btn = new Button();
            btn.ID = "btnDress" + x;
            btn.CommandName = "DressBtn";
            btn.Text = "Dressing";
            btn.CommandArgument = x.ToString();
            btn.UseSubmitBehavior = true;
            btn.Click += new EventHandler(btnDress_Click);

void draw()
{
 drawItem = drawItem + @" <div class=new_options>
                    <ul>
                        <li>
                            "+btn+ @"</li>
                        <li>
                            <asp:Button ID='btnSpInst_'" + x + @" runat='server' CommandName='SpeInstBtn' Text='Special Instruction'
                                OnClick='btnDress_Click' CommandArgument='" + x + @"' /></li>
                        <li>
                            <asp:Button ID='btnTopp_'" + x + @" runat='server' CommandName='ToppBtn' Text='Toppings' OnClick='btnDress_Click' CommandArgument='" + x + @"' /></li>
                    </ul>
                    <div class='clear'>
                    </div>";

            x++;
}

这段代码的问题是,对于永远的div我需要在飞行中写3个按钮,它有一些修复参数,就像我提到的asp按钮,我尝试种植但是那些写为字符串而不是工作,有些人可以告诉我如何才能实现上述工作。

这是我需要重绘项目的html。在飞行中,这里我保持按钮,但实际上我想在飞行中生成它。

 <div class="new_options">
                    <ul>
                        <li>
                            <asp:Button ID="Button4" runat="server"   Visible="true" CommandName="DressBtn" Text="Dressing" OnClick="btnDress_Click" /></li>
                        <li>
                            <asp:Button ID="Button5" runat="server" Visible="true" CommandName="SpeInstBtn" Text="Special Instruction"
                                OnClick="btnDress_Click" /></li>
                        <li>
                            <asp:Button ID="Button6" runat="server" CommandName="ToppBtn" Visible="true" Text="Toppings" OnClick="btnDress_Click" /></li>
                    </ul>
                    <div class="clear">
                    </div>
                </div>

2 个答案:

答案 0 :(得分:1)

您无法以这种方式创建服务器控件。使用代码(您已经完成)创建它们并将它们添加到表单中。您也可以使用占位符。

  Button btn = new Button();
        btn.ID = "btnDress" + x;
        btn.CommandName = "DressBtn";
        btn.Text = "Dressing";
        btn.CommandArgument = x.ToString();
        btn.UseSubmitBehavior = true;
        btn.Click += new EventHandler(btnDress_Click);
    form1.Controls.Add(btn);

答案 1 :(得分:1)

从后面的代码中执行此操作。像你从这里开始构建控件,然后选择页面上的某个位置将其放入......像someContainerControl.Controls.Add(MyNewButton);