Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将checkboxlist动态添加到占位符中,并获取checkboxlist的选中值_Asp.net_C# 4.0 - Fatal编程技术网

Asp.net 将checkboxlist动态添加到占位符中,并获取checkboxlist的选中值

Asp.net 将checkboxlist动态添加到占位符中,并获取checkboxlist的选中值,asp.net,c#-4.0,Asp.net,C# 4.0,我正在创建一个管理页面,其中将动态创建checkboxlist(数据库中的用户列表),并检索其checked users值 有不同类型的用户,因此按组进行区分 现在,首先定义面板,动态创建复选框列表并将其放置在面板内,然后将面板放置在占位符内 我在这里做的是将复选框列表放在面板内,然后将面板放在占位符内。因此无法检索Checkboxlist的值,因为该面板无法获取Checkboxlist,也无法在Checkboxlist中循环 我所做的是 private void AddControl(字符串

我正在创建一个管理页面,其中将动态创建checkboxlist(数据库中的用户列表),并检索其checked users值

有不同类型的用户,因此按组进行区分

现在,首先定义面板,动态创建复选框列表并将其放置在面板内,然后将面板放置在占位符内

我在这里做的是将复选框列表放在面板内,然后将面板放在占位符内。因此无法检索Checkboxlist的值,因为该面板无法获取Checkboxlist,也无法在Checkboxlist中循环

我所做的是

private void AddControl(字符串pUserGrp,int pUserGrp\u Id,int pName)
{           
CheckBoxList chkList=新的CheckBoxList();
复选框chk=新复选框();
用户us=新用户();
us.OrderBy=“按用户名订购”;
us.WhereClause=“Where UserRole\u Id=“+pUserGrp\u Id;
chkList.ID=“ChkUser”+pName;
chkList.AutoPostBack=true;
Add(“onClick”、“getVal(ChkUser”+pName+);”;
chkList.RepeatColumns=6;
chkList.DataSource=us.GetUserDS();
chkList.DataTextField=“用户名”;
chkList.DataValueField=“用户Id”;
chkList.DataBind();
Add(“onClick”、“getVal(this);”;
面板pUser=新面板();
如果(pUserGrp!=“”)
{
pUser.GroupingText=pUserGrp;
chk.Text=pUserGrp;
}
其他的
{
pUser.GroupingText=“未分配组”;
chk.Text=“未分配组”;
}
pUser.Controls.Add(chk);
pUser.Controls.Add(chkList);
Place.Controls.Add(pUser);
}
私有void setChecked(int pPageGroupId)
{
ArrayList arr=新的ArrayList();
PageMaster obj=新的PageMaster();
obj.WhereClause=“Where PageGroup_Id=“+pPageGroupId;
arr=obj.GetPageGroupUserRights(null);
CheckBoxList chkList=(CheckBoxList)Place.FindControl(“ChkUser”);
如果(chkList!=null)
{
对于(int i=0;i0)
{
int ii=0;
而(ii

它不会通过setChecked()中的Checkboxlist控件,也不会通过GetListCheckBoxTest()循环

任何人都可以帮我


关于

问题在于,您试图在未设置
名称属性的情况下查找控件(在
setChecked
)。您使用的是:

CheckBoxList chkList = (CheckBoxList)Place.FindControl("ChkUser");
但是这在
AddControl
中的什么位置

chkList.Name = "ChkUser";
GetListCheckBoxText
中,而不是在

if (c.GetType().Name == "CheckBoxList")
…使用以下命令:

if (c.GetType()== typeof(CheckBoxList))

真的很感谢你的回复。我已经试过了,但它有错误。我已经给出了chkList.ID=“ChkUser”;我找不到。chkList的名字,它暗示着NamingContainer。还有别的办法吗。请帮帮我。
if (c.GetType()== typeof(CheckBoxList))