c#页面动态添加控件

1.页面

<body>
<form id="form1" runat="server">
<div>
<div class="item">

<asp:Button runat="server" ID="myButton" Text="获取控件值" OnClick="myButton_Click" />

</div>
<div runat="server" id="divControls" class="item">
</div>
<div runat="server" id="divMessage">
</div>
</div>
</form>
</body>

 

2.后台

HtmlGenericControl div;
HtmlGenericControl span;
RadioButtonList ra;
CheckBoxList ch;

foreach (var v in query)
{
//创建div
div = new HtmlGenericControl();
div.TagName = "div";
div.ID = "div" + v.tiid;
div.Attributes["class"] = "";

//创建span
span = new HtmlGenericControl();
span.ID = "span" + v.tiid;
span.InnerHtml = v.tname;
div.Controls.Add(span);

//创建
if (v.titype == 1)
{
ra = new RadioButtonList();
ra.ID = "danxuan" + v.tiid;
ra.Items.Add(new ListItem("1", "1"));
ra.Items.Add(new ListItem("2", "2"));
ra.Items.Add(new ListItem("3", "3"));
div.Controls.Add(ra);
}
else if (v.titype == 3)
{
ra = new RadioButtonList();
ra.ID = "panduan" + v.tiid;
ra.Items.Add(new ListItem("1", "1"));
ra.Items.Add(new ListItem("2", "2"));
ra.Items.Add(new ListItem("3", "3"));
div.Controls.Add(ra);
}
else
{

ch = new CheckBoxList();

ch.ID = "duoxuan" + v.tiid;
ch.Items.Add(new ListItem("1", "1"));
ch.Items.Add(new ListItem("2", "2"));
ch.Items.Add(new ListItem("3", "3"));
div.Controls.Add(ch);

}

divControls.Controls.Add(div);

 

}

 

3.c#控件 动态添加控件属性合事件

//查找页面名为myButton的控件
Button Button = (Button)Page.FindControl("myButton");//myButton  控件ID
Button.CommandArgument =  "DBW";
Button.Click += new EventHandler(this.btnOK_Click);

protected void btnOK_Click(object sender, EventArgs e)
{}

 

posted on 2018-01-24 14:17  Q11三工鸟yue  阅读(2040)  评论(0编辑  收藏  举报