1
我已在SharePoint創建一個Web部件2010.在CreateChildControls()方法中,我編寫了以下代碼。使用jquery在checkboxlist中添加新複選框並訪問C#代碼中的複選框
Panel pnlPropertyDiv;
Button btnEmployee;
CheckBoxList plist;
CheckBoxList rlist;
HtmlGenericControl divleft = new HtmlGenericControl("div");
HtmlGenericControl divmiddle = new HtmlGenericControl("div");
protected override void CreateChildControls()
{
plist = new CheckBoxList();
plist.ID = "ProjectCheckbox";
plist.Items.Add("p");
plist.Items[0].Attributes.Add("style", "display:none");
rlist = new CheckBoxList();
rlist.ID = "ResourceCheckbox";
rlist.Items.Add("r");
rlist.Items[0].Attributes.Add("style", "display:none");
Panel pnlContainer = new Panel();
pnlContainer.ID = "Project_Container";
this.Controls.Add(pnlContainer);
pnlPropertyDiv = new Panel();
divleft.ID = "left";
divleft.Attributes["style"] = "float:left; border-right: 1px solid #E1E3E4;height: 65px;text-align: center;width: 200px;";
pnlPropertyDiv.Controls.Add(divleft);
divleft.Controls.Add(plist);
divmiddle.ID = "middle";
divmiddle.Attributes["style"] = "float:left; border-right: 1px solid #E1E3E4;height: 65px;text-align: center;width: 200px;";
pnlPropertyDiv.Controls.Add(divmiddle);
divmiddle.Controls.Add(rlist);
HtmlGenericControl divfooter = new HtmlGenericControl("div");
divfooter.ID = "footer";
divfooter.Attributes["style"] = "text-align: center";
btnEmployee = new Button();
btnEmployee.ID = "btnEmployee";
btnEmployee.Text = "Apply";
btnEmployee.Click += new EventHandler(btnEmployee_Click);
divfooter.Controls.Add(btnEmployee);
pnlPropertyDiv.Controls.Add(divfooter);
pnlPropertyDiv.ID = "EditProperties";
pnlPropertyDiv.Attributes.Add("style", "width: 410px;position:fixed;top:45px;right:18px;z-index:1;color: #6C6E70;font-family: 'Segoe UI',Tahoma,Verdana,sans-serif;font-size: 8pt;");
this.Controls.Add(pnlPropertyDiv);
}
使用jquery我添加新複選框在複選框list.Below是我的按鈕事件代碼。
project = "";
resource = "";
foreach (ListItem pclist in plist.Items)
{
if (pclist.Selected == true)
{
project += pclist.Text;
}
else
{
}
}
foreach (ListItem rclist in rlist.Items)
{
if (rclist.Selected == true)
{
resource += rclist.Text;
}
else
{
}
}
我的問題是,當我點擊我的按鈕,我不能夠得到它由jquery.Because的CreateChildControls()方法添加總是首先調用並重寫的CheckBoxList控制,更改應用通過jQuery是覆蓋複選框。
注: -
我不能夠使用的IsPostBack,因爲的CreateChildControls()有當必須調用頁面刷新。