【Asp.Net】后台生成控件并绑定事件
在Asp.Net的Web页面处理流程中,有时候我们会碰到需要动态生成的控件,并为之绑定相应的事件。
接下来我们来动态的生成一个控件
//在用户代码初始化阶段添加控件
protected void Page_Load(object sender, EventArgs e)
{
//声明控件对象
Button newBtn=new Button();
//指定控件属性
newBtn.ID="btnConrol";
newBtn.Text="我是动态生成的按钮";
newBtn.Click+=new System.EventHandler(this.ShowMessage);
//在Asp.Net中,Asp控件需要放在有runat="server"标记的容器中
form1.Controls.Add(newBtn);
} //方法
private void ShowMessage(object sender, EventArgs e)
{
Response.Write("<script>alert('我被点击啦')</script>");
}
我们在预览一下,可以看到被加进来的控件。
点击按钮会出发初始化绑定的事件
虽然控件已经动态生成,并且能成功绑定事件并触发事件,但是还是有点不理想。我们可以看到,每次动态生成的按钮都被加在了页面的最底部。
这个是由web页面的机制决定,只有在页面被创建成功以后,动态生成的控件才会被加到页面,这就意味着新的控件会被加到页面的最底部。
这个往往不是我们需要的效果,在实际需求中,我们需要在指定位置生成需要的控件。我们希望能更灵活的动态生成按钮,这个也很简单,借助PlaceHolder控件就能够轻松实现。
<body>
<form id="form1" runat="server">
<div>
<div>
<asp:PlaceHolder ID="phTop" runat="server"></asp:PlaceHolder>
</div>
<div>
<asp:Label ID="lblInfo" runat="server" Text=""></asp:Label>
</div>
<div>
<asp:PlaceHolder ID="phMid" runat="server"></asp:PlaceHolder>
</div>
<asp:Button ID="BtnPage" runat="server" Text="页面控件" /> </div>
</form>
</body>
接下来我们在后台动态生成按钮
protected void Page_Load(object sender, EventArgs e)
{
BtnPage.Click += new System.EventHandler(this.ShowMsg); Button topBtn = new Button();
topBtn.ID = "topBtn";
topBtn.Text = "顶部动态添加控件";
topBtn.Click += new System.EventHandler(this.TopShowMsg);
phTop.Controls.Add(topBtn); Button midBtn = new Button();
midBtn.ID = "midBtn";
midBtn.Text = "中间动态添加控件";
midBtn.Click += new System.EventHandler(this.MidShowMsg);
phMid.Controls.Add(midBtn);
}
//页面添加控件事件
private void ShowMsg(object sender, EventArgs e)
{
lblInfo.Text = "固定添加控件";
}
private void TopShowMsg(object sender, EventArgs e)
{
lblInfo.Text = "顶部动态添加控件";
}
private void MidShowMsg(object sender, EventArgs e)
{
lblInfo.Text = "中间动态添加控件";
}
好了,点击生成,然后预览
我们可以看到动态添加的按钮都被我们添加到特定的位置了
点击按钮也可以触发事件
好了,动态生成页面控件的笔记到这里就结束了。
一点基础知识,高手勿喷~
【Asp.Net】后台生成控件并绑定事件的更多相关文章
- Delphi不注册COM直接使用ActiveX控件并绑定事件
文笔不行,直接上源码: 主窗口: unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System ...
- 关于原生js中ie的attacheEvent事件用匿名函数改变this指向后,不能用detachEvent删除绑定事件的解决办法?
博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/28/%e5%85%b3%e4%ba%8e%e5%8e%9f%e7%94%9fjs%e ...
- Android_安卓为按钮控件绑定事件的五种方式
一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...
- 原生 JS 绑定事件 移除事件
监听事件的绑定与移除主要是addEventListener和removeEventListener的运用. addEventListener语法 element.addEventListener(ty ...
- asp.net 后台多线程异步处理时的 进度条实现一(Ajax+Ashx实现以及封装成控件的实现)
(更新:有的同学说源代码不想看,说明也不想看,只想要一个demo,这边提供一下:http://url.cn/LPT50k (密码:TPHU)) 工作好长时间了,这期间许多功能也写成了不少的控件来使用, ...
- ASP.NET中后台数据和前台控件的绑定
关于ASP.NET中后台数据库和前台的数据控件的绑定问题 最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据 ...
- Asp.net web form 动态生成控件的注意事项
Asp.net页面生命周期 页面初始化 Page_Init 加载View State LoadViewState 回发数据处理 LoadPostData ...
- asp.net学习之 数据绑定控件--表格绑定控件
原文:asp.net学习之 数据绑定控件--表格绑定控件 数据绑定 Web 服务器控件是指可绑定到数据源控件,以实现在 Web 应用程序中轻松显示和修改数据的控件.数据绑定 Web 服务器控件 ...
- ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定
在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...
随机推荐
- bootstrap弹出框居中
1.html页面(如果效果出不来,注意修改单引号) <!DOCTYPE html> <html lang="zh-CN"> <head> < ...
- css position 相对定位
<html> <head> <style type="text/css"> h2.pos_left { position:relative; l ...
- uva 10820 (筛法构造欧拉函数)
send a table When participating in programming contests, you sometimes face the following problem: Y ...
- python设计模式之装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...
- codevs 1198 国王游戏
传送门 题目描述 Description 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n位 ...
- NTOPNG,用来平时优化网站性能,用处大的
最近考察一下NTOPNG和NGX-REQ模块,看哪个对网站优化性能用户更大... 参考URL: http://www.68idc.cn/help/jiabenmake/qita/20150109164 ...
- 14.4.5 System Tablespace 系统表空间
14.4.5 System Tablespace 系统表空间 InnoDB 系统表空间包含InnoDB 数据目录(元数据 用于InnoDB相关对象)和是存储区域用于doublewrite buffer ...
- COJN 0584 800603吃糖果
800603吃糖果 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名( ...
- URL图片预览(createObjectURL)
1.说明 1)createObjectURL 作用:创建url(creates a URL for the specified object); 语法:var url = URL.createObj ...
- app开发历程————服务器端生成JSON格式数据,采用Unicode编码,隐藏中文
今天,问以前的同事,他们写接口按什么编码,怎么看到有\u的一些看不懂的内容,一问,原来是信息隐藏,防止信息泄漏. 然后在网上查了Java如何把中文转换成unicode编码,转自:http://blog ...