RadioButtonList InnerHtml问题

时间:2014-03-07 08:10:25

标签: c# asp.net innerhtml radiobuttonlist

我有一个id为“divBody”的div

RadioButtonList rbl = new RadioButtonList();
divBody.InnerHtml += rbl;

同样rbl也有项目,由

添加
rbl.Items.Add(new ListItem { Text = "asd", Value = "1" });

我无法初始化divBody.InnerHtml += rbl;,因为对于该代码片段,我将其视为网站中的输出:System.Web.UI.WebControls.ListItemCollection这一切都很容易解决,但我不想从.aspx初始化radiobuttonlist页面,我想从.cs文件初始化。

感谢您的耐心等待。

5 个答案:

答案 0 :(得分:1)

我希望这会有所帮助。

divBody.Controls.Add(rbl);

使用InnerHtml时,您必须将文字设置为如下所示。

divBody.InnerHtml = "<input type=\"radio\" name=\"example\" value=\"foo\">";

答案 1 :(得分:1)

要从代码中添加控件,您不需要使用html来添加它

RadioButtonList rbl = new RadioButtonList();
rbl.Items.Add(new ListItem { Text = "asd", Value = "1" });
//also divbody should be a panel or div with runat = server
divBody.Controls.Add(rbl); 

答案 2 :(得分:0)

因为你为div设置了runat =“server”属性。 Asp.Net将创建一个HtmlControl

您可以在此处设置InnerHtml属性,而不是执行以下操作:

divBody.Controls.Add(rbl);

这将在应用程序生命周期的呈现阶段呈现radiobutton列表。

答案 3 :(得分:0)

RadioButtonList是服务器控件,我们无法将其添加到div控件的InnerHTML中。你可以这样做:

RadioButtonList rbl = new RadioButtonList();
    rbl.Items.Add(new ListItem { Text = "asd", Value = "1" });
    divBody.Controls.Add(rbl);

答案 4 :(得分:0)

divBody.Controls.Add(rbl);

解决了我的问题,当然,div必须有runat=server

谢谢。