好的,这是您可能不太清楚的架构问题之一。
您放入 % 的“即时”并开始使用服务器端“指令”?
该代码不会“仅仅”在前端运行,因为您将它放在了标记中。该代码仍然在服务器端运行 100%。更重要的是,当服务器渲染页面时,代码就会运行。然后整个页面被发送到浏览器端。
结果呢?
实际上,在 99% 的情况下,在代码隐藏中编写此类代码会更好。实际上,在大多数情况下,尝试在标记中混入服务器端代码变得更加困难和混乱。
那么,既然我们已经清除了上述内容?
第一个问题是您想要选择 1-5。但是,如果您选择了第 3 个,那么当前的第 5 个或第 1 个必须取消选中,对吧?
由于这个常见问题,最好使用 RadioButton 列表或复选框列表。
像这样放入一个说单选按钮列表:
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
</asp:RadioButtonList>
现在,我们想要 5 个选项,然后使用这个编辑器:
(当您变得更舒服时,您可以手动编辑标记中的选项)。
所以我们可以输入 0 - 5 个选项
像这样:
请注意我是如何输入 5 和“五”进行显示的。另外,使用属性表 - 设置单元格间距(尝试 10),并设置重复方向 = 水平。
你会看到这个标记:
<asp:RadioButtonList ID="RadioButtonList1" runat="server" CellSpacing="10"
RepeatDirection="Horizontal">
<asp:ListItem Value="0">Zero</asp:ListItem>
<asp:ListItem Value="1">One</asp:ListItem>
<asp:ListItem Value="2">Two</asp:ListItem>
<asp:ListItem Value="3">Three</asp:ListItem>
<asp:ListItem Value="4">Four</asp:ListItem>
<asp:ListItem Value="5">Five</asp:ListItem>
</asp:RadioButtonList>
我们跑了,看到了这个:
好的,使用代码来填写选项怎么样。
好的,让我们尝试另一个 RadioButtion 列表,如下所示:
<asp:RadioButtonList ID="RadioButtonList2" runat="server"
RepeatDirection="Horizontal">
</asp:RadioButtonList>
现在代码呢?假设我想要 1 到 10?
好的,那么我们有这个代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 1;i<=10;i++)
{
RadioButtonList2.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
}
}
现在我们运行,我们看到了:
再一次,真的很好,因为只能选择一个选项 - 我们不必编写任何代码。
因此,不清楚您是否需要一个单选按钮列表和 10 个选项。
或者,也许我们想显示 10 家酒店,每家酒店都有 1-5 分要显示?
同样,我们将使用 GridView(用于酒店列表),并将 RadioButton 列表作为 Grid 的列之一。
最后但并非最不重要的是?
也许我们想从数据库中驱动选择?比如说,一个城市列表。
那么,“请选择你最喜欢的城市?
让我们放入第三个 RB 列表,我们有这个:
<asp:RadioButtonList ID="RadioButtonList3" runat="server"
DataTextField="City"
DataValueField="ID" >
</asp:RadioButtonList>
请注意我们如何添加更多设置 DataValue 字段和 Data 文本字段。所以,我想显示城市列表,但我们使用数据库,我可能想显示文本值,但是当我选择时,我想要数据库 PK 行。
所以,现在我的代码是这样的:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 1;i<=10;i++)
{
RadioButtonList2.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
// now load up the city picking Radio button list
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.TEST4))
{
string strSQL = "SELECT ID, City from City ORDER BY City";
using (SqlCommand cmdSQL = new SqlCommand(strSQL,conn))
{
conn.Open();
RadioButtonList3.DataSource = cmdSQL.ExecuteReader();
RadioButtonList3.DataBind();
}
}
}
}
现在我们的页面是这样的:
所以,我希望以上内容能给您一些关于“一般”方法的想法,以及您想要编辑 + 输入值,或者使用一些代码来填写代码,甚至使用代码的选项+ 用于加载 RadioButton 选项的数据库。