1

这是完整的代码。当我在下拉列表框中选择 1 时,我想显示一个无线电组。我收到错误'System.Web.HttpException:'RadioButton' 类型的控件'RadioButton1' 必须放在带有 runat=server' 的表单标记内。

         namespace HostelRoomManagement 
         {
          public partial class WebForm1 : System.Web.UI.Page
          {
          protected void Page_Load(object sender, EventArgs e)
           {

            }



    protected void Button1_Click(object sender, EventArgs e)
    {

    }

    protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
    {

        if (DropDownList1.SelectedValue == "1")
        {
            RadioButton rb1 = new RadioButton();
            rb1.ID = "RadioButton1";
            rb1.Text = "C block";
            rb1.GroupName = "BlockGroup";
            RadioButton rb2 = new RadioButton();
            rb2.ID = "RadioButton2";
            rb2.Text = "C block";
            rb2.GroupName = "BlockGroup";
            Page.Controls.Add(rb1);
            Page.Controls.Add(rb2);



        }


    }

    protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
    {

    }


}
}

我收到错误“System.Web.HttpException: Control 'RadioButton1' of type 'RadioButton' must be placed inside a form tag with runat=server'

4

3 回答 3

0

您已经创建了两个单选按钮,但是您在页面的哪个位置添加了它们?

首先为您的单选按钮列表创建一个占位符,然后在此处添加这些控件。
动态创建的控件将在回发时丢失。这意味着您必须管理动态创建的控件。

这是一个很好的[示例]:1 ASP.NET 动态创建控件和回发

于 2013-01-05T07:34:08.827 回答
0

我怀疑你的问题是你正在引用SelectedValue而你想要引用selectedindex.

希望这可以帮助。

于 2013-01-05T07:47:43.697 回答
0

您可以根据用户对页面的选择添加您希望用户看到的单选按钮,并将它们的可见性设置为 false。然后,一旦用户选择了一个值,就可以更改您想要的单选按钮的可见性。可能会更容易。

于 2013-01-05T07:56:32.393 回答