使用 asp.net 在 c# 中动态创建的复选框垂直显示
dynamically created checkbox in c# using asp.net show vertically
我在 <asp:ContentPlaceHolder>
中用 C# 动态创建了 checkbox
。我希望垂直排序,并且在后面的代码中一次只检查一个框。有什么解决办法吗?
代码:
DataTable table = new DataTable();
table.Columns.Add("Betoption", typeof(string));
table.Columns.Add("id", typeof(string));
table.Rows.Add("Main", "1");
table.Rows.Add("Corner", "2");
table.Rows.Add( "Card & Foul", "3");
table.Rows.Add( "Under / Over", "4");
table.Rows.Add( "Dilantin", "5");
table.Rows.Add( "Home / Away", "6");
table.Rows.Add("First Half", "7");
DataRow[] exemption = table.Select();
foreach (DataRow dr in exemption)
{
string option = dr["Betoption"].ToString();
string optionID = dr["id"].ToString();
var chk = new CheckBox { ID = optionID, Text = option, CssClass = "name", AutoPostBack = true };
PlaceHolder1.Controls.Add(chk);
}
您可以使用 CheckBoxList
代替 Checkbox
并设置 RepeatDirection
属性 的值,如下所示:
var checkList = new CheckBoxList();
checkList.AutoPostBack = true;
checkList.CssClass = "name";
checkList.RepeatDirection = RepeatDirection.Vertical;
foreach (DataRow dr in exemption)
{
string option = dr["Betoption"].ToString();
string optionID = dr["id"].ToString();
checkList.Items.Add(new ListItem()
{
Text = option,
Value = optionID
});
}
PlaceHolder1.Controls.Add(checkList);
如果您一次只想检查一项,我建议使用 RadioButtonList
而不是复选框列表。
在上面的代码中,只需将 CheckBoxList()
替换为 RadioButtonList()
我在 <asp:ContentPlaceHolder>
中用 C# 动态创建了 checkbox
。我希望垂直排序,并且在后面的代码中一次只检查一个框。有什么解决办法吗?
代码:
DataTable table = new DataTable();
table.Columns.Add("Betoption", typeof(string));
table.Columns.Add("id", typeof(string));
table.Rows.Add("Main", "1");
table.Rows.Add("Corner", "2");
table.Rows.Add( "Card & Foul", "3");
table.Rows.Add( "Under / Over", "4");
table.Rows.Add( "Dilantin", "5");
table.Rows.Add( "Home / Away", "6");
table.Rows.Add("First Half", "7");
DataRow[] exemption = table.Select();
foreach (DataRow dr in exemption)
{
string option = dr["Betoption"].ToString();
string optionID = dr["id"].ToString();
var chk = new CheckBox { ID = optionID, Text = option, CssClass = "name", AutoPostBack = true };
PlaceHolder1.Controls.Add(chk);
}
您可以使用 CheckBoxList
代替 Checkbox
并设置 RepeatDirection
属性 的值,如下所示:
var checkList = new CheckBoxList();
checkList.AutoPostBack = true;
checkList.CssClass = "name";
checkList.RepeatDirection = RepeatDirection.Vertical;
foreach (DataRow dr in exemption)
{
string option = dr["Betoption"].ToString();
string optionID = dr["id"].ToString();
checkList.Items.Add(new ListItem()
{
Text = option,
Value = optionID
});
}
PlaceHolder1.Controls.Add(checkList);
如果您一次只想检查一项,我建议使用 RadioButtonList
而不是复选框列表。
在上面的代码中,只需将 CheckBoxList()
替换为 RadioButtonList()