RadioButtonList InnerHtml 问题
Posted
技术标签:
【中文标题】RadioButtonList InnerHtml 问题【英文标题】:RadioButtonList InnerHtml issue 【发布时间】:2014-04-10 06:54:12 【问题描述】:我有一个 id 为“divBody”的 div
RadioButtonList rbl = new RadioButtonList();
divBody.Innerhtml += rbl;
rbl也有item,是由
添加的rbl.Items.Add(new ListItem Text = "asd", Value = "1" );
我无法初始化divBody.InnerHtml += rbl;
,因为对于该代码段,我将其视为网站中的输出:System.Web.UI.WebControls.ListItemCollection
这一定很容易解决,但我不想从 .aspx 页面初始化单选按钮列表,我'我想从 .cs 文件中初始化它。
感谢您的耐心等待。
【问题讨论】:
divBody
是什么类?
试试divBody.InnerHtml = rbi;
divbody 是一个 div id <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server"> <div ID="divBody" runat="server"> <asp:Table ID="tableBody" runat="server"> </asp:Table> </div> </asp:Content>
我也试过rbl.items
,但没有任何改变
如果我使用divbody = rbl
而不是divbody += rbl
没有任何改变
【参考方案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);
【讨论】:
是的,div 与 runat = server.但我仍然看不到rbl
的内容,即使我在网页上编码divBody.Controls.Add(rbl);
。
@DemonD 现在你得到控制了吗
在尝试您的建议后,这是关于数据库的问题,无论您的回答对我有多大帮助,所以谢谢。【参考方案2】:
我希望这会有所帮助。
divBody.Controls.Add(rbl);
当您使用InnerHtml
时,您必须设置要呈现的文本,如下所示。
divBody.InnerHtml = "<input type=\"radio\" name=\"example\" value=\"foo\">";
【讨论】:
【参考方案3】:由于您为 div 设置了 runat="server" 属性。 Asp.Net 将创建一个HtmlControl
您可以在此处执行以下操作,而不是设置 InnerHtml 属性:
divBody.Controls.Add(rbl);
这将在应用程序生命周期的渲染阶段渲染单选按钮列表。
【讨论】:
【参考方案4】:RadioButtonList
是一个服务器控件,我们不能在 div 控件的 InnerHTML 中添加它。你可以这样做:
RadioButtonList rbl = new RadioButtonList();
rbl.Items.Add(new ListItem Text = "asd", Value = "1" );
divBody.Controls.Add(rbl);
【讨论】:
【参考方案5】:divBody.Controls.Add(rbl);
解决了我的问题,当然,那个 div 必须有 runat=server
谢谢。
【讨论】:
以上是关于RadioButtonList InnerHtml 问题的主要内容,如果未能解决你的问题,请参考以下文章
将 Bootstrap 样式应用于 RadioButtonList