如何在页面上动态的生成 WebForm控件

如何在页面上动态的生成 WebForm控件,第1张

<% if request("infoid")<>"" then set rs=conn.execute("select * from nproduct where id="&request("infoid")) if not (rs.eof and rs.bof) then proname=rs("proname") content=rs("proinfo") end if rs.close set rs=nothing end if %>

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 />")

})

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11596302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存