`
s471417811
  • 浏览: 55559 次
社区版块
存档分类
最新评论

在asp.net中动态生成web控件

    博客分类:
  • .net
阅读更多


       大多数情况下,我们在制作asp.net页面的时候,都是使用静态的形式将web服务器控件添加到页面中的,这种方法能满足大部分的需要。在本文中,我们主要讨论如何在web页面中动态生成控件并添加到指定位置,然后设置控件的相关属性,触发相关的事件。

       本程序中,我们打算在页面上动态生成三个控件,一个表格,一个文本框,一个标签。当文本框失去焦点时,标签将显示文本框中的内容;程序运行的时候,文本框中有一段提示文字(“输入结束后请按tab键”),当鼠标经过该文本框时,自动清除提示文字。以上是本程序的功能介绍。
       下面讲解详细的操作过程:

1、  新建一个aspx页,名字任意取好了。

2、  切换到html视图,添加一个两行一列的表格,因为.net中画表格极不方便,所以我都是在frontpage中画好表格再把代码粘贴过来的。
3、  在表格的第一行和第二格各放一个placeholder控件,并采用默认名称。该控件在工具箱的web窗体选项卡中可以找到,placeholder web 服务器控件使您可以将空容器控件放置到页内,然后在运行时动态添加、移除或依次通过子元素。该控件只呈现其子元素。

4、  不多说了,所有源码贴出来,我作了比较详细的注释:
using system;

using system.collections;

using system.componentmodel;

using system.data;

using system.drawing;

using system.web;

using system.web.sessionstate;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.htmlcontrols;

 

namespace teachshow.test

{

    /// <summary>

    /// webform1 的摘要说明。

    /// </summary>

    public class webform1 : system.web.ui.page

    {

        protected system.web.ui.webcontrols.placeholder placeholder1;

        protected system.web.ui.webcontrols.placeholder placeholder2;

        private label label=new label();

        private textbox textbox=new textbox();

    

        private void page_load(object sender, system.eventargs e)

        {

            // 在此处放置用户代码以初始化页面

            table tb = new table();//创建一个表格

            tb.borderwidth=unit.parse("1");

            

            tb.width = unit.parse("100%");

            for (int j=0;j<10;j++)

            {

                tablerow tr = new tablerow();//创建一行

                tablecell cell1 = new tablecell();//创建单元格,也就是第一列

                cell1.text=j.tostring();//设置单元格内的文本

                tr.cells.add(cell1);//添加到行中

 

                tablecell cell2 = new tablecell();//创建第二列

                cell2.text=(j*j).tostring();

                tr.cells.add(cell2);                

 

                tb.rows.add(tr);//添加到表格中

 

            }

            this.placeholder2.controls.add(tb);

 

            /////////////////////////////////////////

            textbox.text="输入结束后请按tab键";//程序运行时文本框内的提示文本

            textbox.id="t";//给文本框起个名字

            textbox.width=200;//设置宽度

            textbox.height=20;//设置高度

            textbox.autopostback=true;//响应事件的条件

            textbox.textchanged+=new eventhandler(textbox_textchanged);//添加事件,在.net中,按tab自动生成

            textbox.attributes.add("onmouseover","t.value=''");//给文本框添加一个javascript事件,当鼠标从文本框中移过时自动清除文本框内的提示内容

 

            this.placeholder1.controls.add(textbox);//添加

 

            ////////////////////////////////////////

            

            this.placeholder1.controls.add(label);//此处将标签添加到placeholder中

 

        }

 

        #region web 窗体设计器生成的代码

        override protected void oninit(eventargs e)

        {

            //

            // codegen: 该调用是 asp.net web 窗体设计器所必需的。

            //

            initializecomponent();

            base.oninit(e);

        }

        

        /// <summary>

        /// 设计器支持所需的方法 - 不要使用代码编辑器修改

        /// 此方法的内容。

        /// </summary>

        private void initializecomponent()

        {    

            this.load += new system.eventhandler(this.page_load);

 

        }

        #endregion

 

        private void textbox_textchanged(object sender, eventargs e)

        {

            this.label.text=textbox.text;//事件响应方法.当文本框失去焦点时将标签设成和文本框同样的内容.

        }

    }

}


本文转自:http://www.360doc.com/content/12/0313/09/3767901_193921819.shtml
分享到:
评论

相关推荐

    asp.net Web开发中动态生成控件

    此源码提供了,动态生成文本框、上传控件(FileUpload)等demo.大家可以按照自己需要手动更改要生成的控件类型。

    ASP.NET学习大全

    asp.net 2.0中TREEVIEW中动态增加结点.txt Asp.net 实现验证码功能的Web控件.txt asp.net常用的javascript经典例子.doc asp.net常用函数表.doc ASP.NET程序中常用的三十三种代码.doc ASP.NET程序中实现校验码图像...

    Asp.net中使用文本框的值动态生成控件的方法

    看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花”字,点一下“生成”按钮,就会在下面生成一个checkbox,它的text属性是“花”。再输入一个“鸟”,点一下按钮,就会生成第二个...

    asp.net学习大全(超全面的资料整合)

    asp.net 2.0中TREEVIEW中动态增加结点.txt Asp.net 实现验证码功能的Web控件.txt asp.net常用的javascript经典例子.doc asp.net常用函数表.doc ASP.NET程序中常用的三十三种代码.doc ASP.NET程序中实现校验码图像...

    ASP.NET相册控件(含源码)

    1.该控件在页面加载的时候,会搜索当前网站指定目录所有jpg格式的文件,在使用时需要指定原图片存放地址和生成的缩略图存放地址,需要添加到web.config文件中: try { smallfoldername = Server.MapPath...

    动态的管理ASP.NET DataGrid数据列

    在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns...

    ASP.NET中用TreeView控件实现树目录的方法研究

    NET采开发ASP.NET Web应用程序的。其包含了四种IEWeb控件,这些Web控件通过提供Web访问者熟悉的用户界面,增强了ASP.NETWeb页面。Tree View Web控件就是其中之一。本文就是详述如何使用Tree View控件采生成树目录...

    TreeView控件在ASP.NET中的动态生成 (2014年)

    TreeView控件是Web应用程序开发中经常用到且功能强大的控件,用来显示信息的分级...本文主要阐述如何根据SQL Server2008数据库中的数据,在Visual Studio2010环境中用ASP.NET TreeView控件动态生成一个无级限的树形菜单。

    ASP.NET入门到精通,1到2电子书

    第5篇【王牌资源】在DVD光盘中赠送了丰富的资源,诸如 ASP.NET类库查询手册、ASP.NET控件查询手册、ASP.NET源码大放送、本书【练一练】答案、ASP.NET程序员职业规划、 ASP.NET程序员面试技巧、ASP.NET常见面试题、...

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

    ASP.NET AJAX

    无刷新技术 导读:ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET ...

    [源代码] 《ASP.NET夜话》 随书源代码

    第06章 — ASP.NET基本控件 第07章 — ADO.NET介绍 第08章 — 数据绑定控件 第09章 — 验证控件 第10章 — 复合控件和母版页 第11章 — web.config详解 第12章 — ASP.NET底层探秘 第13章 — ASP.NET中的AJAX开发 第...

    ASP.NET的网页代码模型及生命周期

    ASP.NET中还提供了控件状态属性作为在服务器往返过程中存储自定义控件中的数据的方法。在页面控件中,如果有多个自定义控件使用多个不同的控件来显示不同的数据结构,为了让这些页面控件能够在在页面上协调的工作,...

    asp.net专家疑难解答200问

    如何在TreeView Web控件中动态添加、删除TreeNode节点 100.如何使用TreeView Web控件中的TreeNodeType进行外观控制 101.如何使用TreeView Web控件绑定XML文件-示例1 101.如何使用TreeView Web控件绑定...

    ASP.NET 3.5 从基础到项目实战

    第4章 ASP.NET Web服务器控件 第5章 网站设计 第6章 ASP.NET数据库编程 第7章 网络安全与验证 第8章 内建组件对象 第9章 用户控件与自定义服务器控件 第10章 ASP.NET AJAX 第11章 在程序中使用可扩展标记语言XML 第...

    《asp.net夜话》非常棒的一本书

    书中系统地讲解了ASP.NET企业开发的多个层面,主要知识点包括:表单知识、ASP.NET运行机制、Visual Studio 2008技巧、ASP.NET服务器控件的使用、SQL注入防范、单元测试、三层架构、报表、数据加密/解密、GDI+、ADO...

    Asp.net(Chart)

    微软最近发布了一个很酷的新ASP.NET服务器控件,可以免费用在ASP.NET 3.5中,促成基于浏览器的丰富图表场景支持各种丰富的图表选项,包括pie(饼图), area(区域), range(范围), point(点), circular(圆形), ...

    Asp.Net 自定义验证码控件

    单击可自动刷新的自定义验证码控件。 验证码原理: 由随机的字符串生成图片, 图片加入干扰,防止暴力破解,人可以识别, 生成图片的同时,将随机字符串保存, 判断人工输入和保存的字符串的一致性。

    ASP.net入门教程

    ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对...

    asp.net学习积累的代码段

    对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?).txt 根据不同的dropdownlist选择值选择数据.txt 购物车代码.txt 关于TextBox和Label控件显示数据的问题.在线等.txt 广告代码.txt 获取键盘上任意按键的...

Global site tag (gtag.js) - Google Analytics