如何创建带有提交问题的新radiobuttonlist?c#asp.net
我有:如何创建带有提交问题的新radiobuttonlist?c#asp.net,c#,asp.net,C#,Asp.net,我有: 提交后如何创建带有新问题的radiobuttonlist新条目??im Princi创建新的2、3、4等。您应该将第三个条目放在: <div id="question"> <div style="float: left; width: 250px;"> <asp:Label ID="question" runat="server"></asp:Label></div> &
提交后如何创建带有新问题的radiobuttonlist新条目??im Princi创建新的2、3、4等。您应该将第三个条目放在:
<div id="question">
<div style="float: left; width: 250px;">
<asp:Label ID="question" runat="server"></asp:Label></div>
<div>
<asp:RadioButtonList ID="selectdYesNo" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:RadioButtonList>
</div>
</div>
<div id="btCreate" style="margin-left: 200px; margin-top: 10px;">
<asp:Button runat="server" Text="Categorize" ID="btCategorize" />
</div>
及
因此,您的代码:
<%
}
%>
更新
当你更新你的问题时,我的新答案是:
<asp:RadioButtonList ID="selectdYesNo" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
<%
if (needToShowThirdEntry) {
%>
<asp:ListItem Text="Maybe" Value="2"></asp:ListItem>
<%
}
%>
</asp:RadioButtonList>
但是,由于这是一个单独的列表,您应该创建普通的单选按钮列表(不带if),并使用“代码隐藏”中的
newRBList.Visible
属性在第一次渲染时(回发之前)将其隐藏起来您可以像这样尝试选择dyesno.Items.Add(new list item(“text”,“value”)代码>这是您的代码
<asp:RadioButtonList ID="selectdYesNo" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:RadioButtonList>
<%
if (needToShowSecondList) {
%>
<asp:RadioButtonList ID="newRBList" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
<asp:ListItem Text="Maybe" Value="2"></asp:ListItem>
</asp:RadioButtonList>
<%
}
%>
这是你的ASP:HTML
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PanelFirstQuestionBlock.Visible = true;
}
}
protected void FirstQuestionGotAnswered(object sender, EventArgs e)
{
PanelFirstQuestionBlock.Visible = false;
PanelSecondQuestionBlock.Visible = true;
}
我的第一个问题
对
不
我的第二个问题
对
不
如果某些条件(needToShowThirdEntry)为真,则会显示您的项目?或者简单地说,若用户提交了页面,不管怎样?我会避免内联编码,因为needToShowThirdEntry可能太复杂而无法内联编写。我建议保留代码文件中的所有逻辑。needToShowThirdEntry可以是代码文件中的属性/方法,这就是显示逻辑。您可以从此if访问代码中定义的页面类的(公共?)属性。这些项目可以像在其他答案中一样从代码中编辑,但我似乎在MVC中编程太久了,希望保持显示逻辑分离:)在视图中,您没有丑陋的面板、GridView和ListView,它们占用了大量的内容体,因此您可以使用内联更改。相反,我们有这些丑陋的书面控件,新手开发人员在每页上都会使用它们;为什么显示新项目时没有单选按钮?只有一个问题名?第一个问题的名称将与第二个新问题的名称相同。提交后将显示新项目,因为您通过编程方式在我的代码的第一行中添加了新项目,然后对其进行了数据索引,以便RadioButtonList可以开始使用它。所有旧项目将保持原样。如果您想重新订购项目,您应该重新绑定所有项目。提交后如何创建radiobuttonlist的新条目??这意味着什么?要创建新问题,我建议您在HTML中为每个问题创建RadioButtonList,然后只触发RadioButtonList.Visible=true/false;每次加载新问题时,请重新编写问题,因为你问错了。您想添加另一个RadioButtonList,而不是RadioButtonList中的另一项,这正是阅读您的问题时我们所想的。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PanelFirstQuestionBlock.Visible = true;
}
}
protected void FirstQuestionGotAnswered(object sender, EventArgs e)
{
PanelFirstQuestionBlock.Visible = false;
PanelSecondQuestionBlock.Visible = true;
}
<asp:Panel ID="PanelFirstQuestionBlock" runat="server" Visible="false">
<h1>My first Question</h1>
<asp:RadioButtonList ID="RadioButtonListAnswer1" runat="server"
OnSelectedIndexChanged="FirstQuestionGotAnswered">
<asp:ListItem>yes</asp:ListItem>
<asp:ListItem>no</asp:ListItem>
</asp:RadioButtonList>
</asp:Panel>
<asp:Panel ID="PanelSecondQuestionBlock" runat="server" Visible="false">
<h1>My second Question</h1>
<asp:RadioButtonList ID="RadioButtonListAnswer2" runat="server">
<asp:ListItem>yes</asp:ListItem>
<asp:ListItem>no</asp:ListItem>
</asp:RadioButtonList>
</asp:Panel>