http://www.asp888.net 豆腐技术站
在asp.ne中,我们可以利用程序在编程的时候动态的生成我们需要的WebForms 控件,我们先看看下面的例子
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e) {
Panel1.Visible=true
//生成Label 标签
Label l = new Label()
l.Text = "Label"
l.ID = "Label"
Panel1.Controls.Add(l)
Panel1.Controls.Add(new LiteralControl("<br>"))
//生成 Text 文本输入框
TextBox t = new TextBox()
t.Text = "TextBox"
t.ID = "TextBox"
Panel1.Controls.Add(t)
Panel1.Controls.Add(new LiteralControl("<br>"))
//生成 超联结 文本 并指定 超联结 的 相关属性
HyperLink h = new HyperLink()
h.Text="豆腐技术站"
h.NavigateUrl ="http://www.asp888.net"
Panel1.Controls.Add(h)
Panel1.Controls.Add(new LiteralControl("<br>"))
}
</script>
</head>
<body>
<form runat=server>
<asp:Panel id="Panel1" runat="server"
Height="200px"
Width="300px">
</asp:Panel>
<asp:Button Text="Refresh Panel" runat="server"/>
</font>
</form>
</body>
</html>
由此我们可以看出,我们可以 在程序的 具体运行设定的时候给出不同的控件,重要的是这些空间都是动态生成的;
下面,我给大家 给出 一些 我们常用的 WebForms 控件:
AdRotator,Button,Calendar,CheckBox,DataGrid,DataList,DropDownList,HyperLink,Image,ImageButton
Label,Panel,RadioButton,Repeater,Table,TextBox
这些控件的含义通过他们的名称我们就可以很容易的看出来,所以 我就不在这里详细讲解他们的含义了,如果
动态生成Asp.Net服务器控件,并取其值C# codeprivate void LoadProperty(int cateId)
{
HtmlGenericControl span = new HtmlGenericControl()
for (int i = 0i <ds.Tables[0].Rows.Counti++)
{
StringBuilder strHtml = new StringBuilder()
if (i % 2 == 0)
{
strHtml.Append("<div >")
strHtml.Append("<div class=\"layout1\">")
}
else
{
strHtml.Append("<div >")
}
TextBox txt = new TextBox()
Label lbl = new Label()
HiddenField hdf = new HiddenField()//
lbl.ID = "lblProp" + i.ToString()
lbl.Text = ds.Tables[0].Rows[i]["PropName"].ToString() + ":"
txt.ID = "txtProp" + i.ToString()
hdf.ID = "hdfProp" + i.ToString()//
lbl.EnableViewState = true
txt.EnableViewState = true
hdf.EnableViewState = true//
LiteralControl lc = new LiteralControl(strHtml.ToString())
lc.EnableViewState = true
span.Controls.Add(lc)
span.Controls.Add(lbl)
span.Controls.Add(txt)
span.Controls.Add(hdf)//
if (i % 2 == 0)
{
span.Controls.Add(new LiteralControl("</div></div>"))
}
else
{
span.Controls.Add(new LiteralControl("</div>"))
}
}
}
动态生成的控件,当点击页面按钮时会刷新页面,所以,生成控件的方法不需要
if(!IsPostBack)
{
}
------解决方案--------------------
JScript code$(function(){
$("#addLabel").click(function(){
$("#divAddLabel").append("<label>添加的label<label/><br />")
})
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)