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 问题的主要内容,如果未能解决你的问题,请参考以下文章

RadioButtonList

将 Bootstrap 样式应用于 RadioButtonList

查看 RadioButtonList 是不是具有选定值的最佳方法是啥?

强类型 RadioButtonlist

WinForms RadioButtonList 不存在?

如何告诉 RadioButtonList 不生成表格