Sure,下面是详细讲解“asp.net动态产生checkbox(数据源为DB或内存集合)”的完整攻略。
使用内存集合作为数据源
步骤一:在页面中定义一个Panel控件
在aspx页面中定义一个Panel控件,用于放置动态生成的Checkbox控件,如下所示:
<asp:Panel ID="panel1" runat="server" />
步骤二:在页面Load事件中动态生成Checkbox控件
在页面Load事件中,通过代码动态生成Checkbox控件,并将其添加至Panel控件中,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
List<string> items = new List<string>() { "item1", "item2", "item3" }; // 定义内存集合
foreach(var item in items)
{
CheckBox chk = new CheckBox();
chk.Text = item;
panel1.Controls.Add(chk);
}
}
此代码将会根据内存集合自动生成相应的Checkbox,并将其添加至Panel控件中。
使用DB作为数据源
步骤一:创建一个数据库表用于存储数据
创建一个名为"Items"的数据库表,用于存储要显示的数据,表结构如下:
CREATE TABLE [dbo].[Items](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED ([Id] ASC)
)
步骤二:定义一个数据访问层获取数据
定义一个名为"ItemsDAL"的数据访问层,用于获取数据,如下所示:
public class ItemsDAL
{
public static List<string> GetItems()
{
List<string> items = new List<string>();
using (SqlConnection conn = new SqlConnection("数据库连接字符串"))
{
SqlCommand cmd = new SqlCommand("SELECT Name FROM Items", conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
items.Add(reader["Name"].ToString());
}
}
return items;
}
}
此代码将会获取数据库中的数据,并以List
步骤三:在页面Load事件中动态生成Checkbox控件
在页面Load事件中,通过调用数据访问层的方法获取数据,并使用代码动态生成Checkbox控件,并将其添加至Panel控件中,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
List<string> items = ItemsDAL.GetItems(); // 获取数据
foreach(var item in items)
{
CheckBox chk = new CheckBox();
chk.Text = item;
panel1.Controls.Add(chk);
}
}
此代码将会根据数据库中的数据自动生成相应的Checkbox,并将其添加至Panel控件中。
以上就是asp.net动态产生checkbox(数据源为DB或内存集合)的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net动态产生checkbox(数据源为DB或内存集合) - Python技术站