我有一个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文件初始化。
感谢您的耐心等待。
答案 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
谢谢。