asp.net中如何在后台动态给前台添加Lable控件?

作者&投稿:仁翔 (若有异议请与网页底部的电邮联系)
如何在 asp.net 后台代码中为前台页面动态增加服务器控件?~

增加产品,不同分类的产品,出现不同的产品属性框,应该还是可添加和删除产品属性框的。

实现方法有两种:
1、多放几个Label和Textbox,根据数据库中的产品属性多少,隐藏掉不需要的Label和Textbox,对需要的Label和Textbox的属性进行赋值在后台代码中也很容易实现。

2、先放一个Panel,比如Panel9,然后用 Label labeln = new Label(); Textbox textboxn=new Textbox();来创建新控件,用对labeln.ID、labeln.Text、textboxn.ID、textboxn.Text的赋值语句来放上产品的属性,最后用Panel9.Controls.Add(labeln);Panel9.Controls.Add(textboxn);来往页面上动态增加刚才新建的服务器控件。

1.首先新建一个项目,并拖入一个按钮,然后双击该按钮,进入代码窗口。

2.写入代码
Button a = new Button();
this.Controls.Add(a);
第一句的意思是,定义一个按钮。
第二句的意思是将这个按钮加入"this",也就是加入这个窗体。

3.运行这个程序,然后点击按钮。

4.可以在左上角看到一个空白按钮。

5.想要动态加入控件,肯定就不满于这么单调的功能,其实我们在加入按钮时,可以定义按钮的参数的,修改一下代码。

Button a = new Button();
a.Text = "动态增加的按钮";
this.Controls.Add(a);
中间的那句意思不用我解释了吧,是设置按钮上的文字的意思。

6.OK,运行程序,点击按击,可以看到,左上角的按钮文字变了,不过文字没全显示出来,没事,还可以更改按钮大小。

7.再增加一句代码
Button a = new Button();
a.Text = "我是动态增加的按钮";
a.Width = 200;
this.Controls.Add(a);
第三句代码是把新增按钮的宽度设置为200;

8.再运行程序看看结果,可以看以按钮变得很长了。

 (1).如何在窗体上创建Button组件:
  其实用Visual C#创建一个组件是十分方便的,只用下列二行语句就可以完成了:
//创建一个新的Button组件
Button myButton = new Button ( ) ;
//在窗体中显示此按钮
this.Controls.Add ( myButton ) ;
但此时创建的这个Button组件没有任何属性,并且也没有任何事件,在本文中介绍的程序中创建的Button组件,不仅有属性也有事件,下列语句就是本文程序创建Button组件源代码:
//按钮数量计算器在每次按钮按动后加"1"
counter += 1 ;
//对要产生的按钮的纵坐标的相对位置是前一个产生按钮的相对位置的纵坐标加"3"
locY += this.btnAdd.Height + 3 ;
//创建一个新的Button组件
Button myButton = new Button ( ) ;
//设定他的名称和Text属性,以及产生的相对位置
myButton.Name = "Button " + counter ;
myButton.Text = "按钮 " + counter ;
myButton.Location = new Point ( btnAdd.Location.X , locY ) ;
//为产生的新的Button组件设定事件,本文中为产生的按钮设定了三个事件
myButton.MouseEnter += new System.EventHandler ( this.btn_MouseEnter ) ;
myButton.MouseLeave += new System.EventHandler ( this.btn_MouseLeave ) ;
myButton.Click += new System.EventHandler ( this.btn_Click ) ;
//在窗体中显示此按钮
this.Controls.Add ( myButton ) ;
  程序不仅为每一个组件的属性都赋值,而且为每一个组件都创建了三个事件。细心的读者可能已经注意到,程序为每一个组件创建的事件的名称都是一样的。这样就有一个问题,如何在这一样的事件中,识别到底是哪个Button组件触发了事件。
  (2).确定是哪个组件触发了事件:
  由于程序中为每一个创建的Button组件的事件都是一样的,要想正确处理这些组件的事件,就需要在事件触发的程序中判断到底是哪个组件触发了这个事件。这就需要用到上面所提出的装箱和出箱。我们知道Sender对象是一个参考类型变量,他存放的是指向触发当前事件实体对象的指针。要把他给转换成实值对象类型,通过下列语句就可以确定是哪个组件触发了当前事件:
private void btn_MouseEnter ( object sender , System.EventArgs e )
{
//出箱
Button currentButton = ( Button ) sender ;
//设定按钮的背景色
currentButton.BackColor = Color.Red ;
}
  其他事件可以仿照此事件的处理过程来处理。
  (3). 如何在窗体上创建TextBox组件:
  创建TextBox组件的过程和创建Button组件过程相类似,只是在创建的组件类型上面有一点区别,具体实现语句如下:
//文本框数量计算器在每次按钮按动后加"1"
counter01 += 1 ;
//对要产生的文本框的纵坐标的相对位置是前一个产生按钮的相对位置的纵坐标加"3
locY1 += this.txtAdd.Height + 3 ;
//创建一个新的TextBox组件
TextBox myBox = new TextBox ( ) ;
//设定他的名称和Text属性,以及产生的位置
myBox.Name = "TextBox " + counter01 ;
myBox.Text = "文本框 " + counter01 ;
myBox.Location = new Point ( txtAdd.Location.X , locY1 ) ;
//为产生的新的TextBox组件设定事件,本文中为产生的文本框设定了一个事件
myBox.Click += new System.EventHandler ( this.btn_Click ) ;
//在窗体中显示此文本框
this.Controls.Add ( myBox ) ;
  此时细心的读者又会发现,为每一个TextBox组件创建Click事件和为Button组件创建的Click事件也是一样的,这样在Click事件中不仅要判断是哪个组件触发了事件,还要判断是那种类型的组件触发了事件,下面语句是实现这些判断地具体方法:
private void btn_Click ( object sender , System.EventArgs e )
{
if ( sender.GetType ( ) == typeof ( Button ) )
{
Button control = ( Button ) sender ;
MessageBox.Show ( control.Text + "被按动了!");
}
else
{
TextBox control = ( TextBox ) sender ;
MessageBox.Show ( control.Text + "被按动了!" ) ;
}
}
  当然如果你也可以单独为TextBox组件创建Click事件。此时创建的事件语句可改为:
myBox.Click += new System.EventHandler ( this.txt _Click ) ;

  下面是实现txt _Click ( )事件的程序代码:
private void txt_Click ( object sender , System.EventArgs e )
{
TextBox currentButton = ( TextBox ) sender ;
MessageBox.Show ( currentButton.Text + "被按动了!");
}


那里有免费下载3gp短片的网站
下载地址:http:\/\/www.mpx8.net\/dispbbs.asp?boardID=27&ID=177&page=1 5000部手机MP4电影下载 5000部手机MP4电影,让你体验极速下载的乐趣 影片均为mp4, AVI格式,适合在PSP、PDA、MP4、3G手机、SP、电脑上播放 http:\/\/movie.mpx8.net\/ http:\/\/www.mpx8.net\/dispbbs.asp?boardID=2&ID=...

ASP NET 是什么?拜托各位大神
ASP.Net是建立在微软新一代.Net平台架构上,利用普通语言运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。 2.ASP.Net与ASP的联系和主要区别是什么? ASP.Net与现存的ASP保持语法兼容,实际上我们可将现有的ASP源码文件扩展名“.asp”改为“.aspx...

ASP.NET是什么
ASP.NET是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web...

asp.net 移动wap开发 手机网站 获取手机号
(比如刚开始我能取到移动用户中的动感地带用户的手机号,后来不行了估计被运营商关了;现在取得联通的C网WAPSP认证后,上报自己的域名,就能取到C网的浏览用户手机)一般手机号都放在HTTP头里 实在知道就全部输出来看一下,要用手机上测试哦,模拟器是没有手机号!联通的方法:ASP代码 num=request....

SP是什么意思啊?电信增值服务具体指哪些服务?
电子信箱系统或专线方式进入中国互连网Chinanet。7. 语音信息业务,如人工辅助的信息台、自动声讯服务、语音信箱等。除了上述服务,还有如电话呼叫卡业务、受对方付费业务、虚拟专用网(VPN)业务、集中式用户交换机业务等。新型增值业务如帷幄中继业务、电视会议、视像点播(VOD)等也在不断发展中。

.NET Framework 3.5 SP1正式版发布
微软于前段时间发布了 NET Framework 第一个SP服务包的最终版 这是一个累积更新 包含很多基于 NET Framework 和 不断生成的新功能 此外还包括 NET Framework SP 和 NET Framework SP 累积更新 支持x x IA 三种架构 NET Framework SP 集成了此前发布的三十个相关Hotfix热修复补丁 同时还引入了不少新...

sql server 中如何查看自定义函数的源代码?
如果函数没有被加密的话(未使用with encrypt子句),用语句sp_helptext 函数名查看源码。如果被加密了,也需要通过第三方工具来解密查看。使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)...

asp.net连接数据库超时的原因是什么
要是你使用了事务那就得尽量启用短事务长事务很容易导致数据库中操作的表被锁死。你可以在数据库中使用sp_who查询出你正在使用的数据库是否有sleeping的或者AWAITING COMMAND的然后调试你的代码看看是什么原因导致出现这个问题的。还有就是可能因为你使用的sql语句查询数据量过大而且使用过多的子查询导致sql...

支持SP.NET 1.1\/2.0免费空间能介绍个吗
空间环境配置:1.脚本支持:ASP、ASP.NET 1.1\/2.0、PHP、Zend 2.管理方式:在线WEB,FTP实时管理,维护;3.带宽线路:空间所在服务器电信[电信]百兆独享;4.服务器硬件配置[配置详情]CPU :intel(R) Xeon(R)cpu E5310 @1.60GHz 内存:8G 硬盘:sas15000 网卡:intel 1000M以太网卡 注意事项:...

请问中国移动sp的OA网址多少?
http:\/\/sh.bnet.cn\/2006-10\/product_manage1135.html 合强协同办公系统 “商务领航”合强协同办公系统是专门针对中小企业的办公自动化应用需求和ASP模式开发的软件系统。上海电信负责“商务领航”合强协同办公系统的运营,依靠电信系统的运营平台,通过互联网为企业用户提供协同办公应用服务,并负责系统的日常...

西华县19188072953: asp.net如何将后台值传送到 前台js中 -
沈米快克: "<%=fun() %>";调函数 后台函数 public fun(){}<%=变量名%>调变 后台变量 public type 变量名; 注:变量和函数应该public类型 还可以将cs中的值传到其他的html网页 src="aa.htm?id=<%=变量%>"

西华县19188072953: asp.net 如何将后台的值传给前台html控件的变量 -
沈米快克: 最简单的方法:在每个<select>后面放一个<HiddenField>控件,分别设置它们的value为<%=carbrand1 %>和<%=carnum1 %> 在后台用HiddenField.value提取就行了.

西华县19188072953: asp.net中后台创建的Datatable列数,怎么显示到前台页面去 -
沈米快克: 后台动态创建的DataTable列也和原有的DataTable一样需要绑定到数据控件上才可以显示.可以先从数据库中得到原始的DataTable dt,再在dt中添上动态生成的列,最后将dt绑定到DataGrid/GridView/...就可以了.

西华县19188072953: asp.net中如何在后台动态给前台添加Lable控件?
沈米快克:(1).如何在窗体上创建Button组件: 其实用Visual C#创建一个组件是十分方便的,只用下列二行语句就可以完成了: //创建一个新的Button组件 Button myButton = new Button ( ) ; //在窗体中显示此按钮 this.Controls.Add ( myButton ) ; 但此时...

西华县19188072953: asp.net中后台绑定数据到前台表格中
沈米快克: 楼上说的没错,绑定可以用GridView,DataList,Repeater等等,表格上没法直接绑定的,除非你给表格加上runat="server"属性,然后在后台遍历数据源,动态创建HtmlTableRow,再给表格填充.另外一个方法就是用Repeater最好了,简单实用...

西华县19188072953: asp.net中后台绑定数据到前台表格中 -
沈米快克: 在table 表格中放个 lebel 给lebel 设置ID leble1 后台取到数据根据 lebel id 绑定传值给他

西华县19188072953: ASP.NET怎样把后台数组传递给前台数组? -
沈米快克: 后台数组转成JSON格式,在Response中压入,客户端收到后,对字符串进行JSON转换成数组

西华县19188072953: 急!asp.net后台把参数传递给前台$.post函数中的回调函数中,cs代码如何写?用respo -
沈米快克: 这是放个变量比如a,然后需要的地方<%=a %>,后台赋值即可 或者使用控件Literal,然后后台赋值Text属性

西华县19188072953: asp后台如何传数组给前台js??? -
沈米快克: 代码如下:$.each(rData.rows ,function(){ alert(this.PK_NoticeID); //用this. 你那些字段 alert(this.cell[0]) }) 后台返回的数据是 {'id':1,'name':'st','grant':[{'tm_id':1,'tm_name':'zc'},{'tm_id':2,'tm_name':'ww'}]} 前台获取 var data = eval("(" + json + ")");...

西华县19188072953: net怎样将后台数据传到前台 -
沈米快克: 这个是传变量名的值 html js中 var srcUrl = <%=getUrl%>; var srcUrl = <%=getUrl%>; cs类文件中 public static string getUrl = "网址"; public static string getUrl = 网址; 如果想传方法的值 html js中 var srcUrl = <%=getUrl()%>; var srcUrl = <%=getUrl()%>; C#代码 public static string getUrl(){ return "返回值"; } public static string getUrl(){ return 返回值;}

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网