ASP.NET动态创建控件之绝境求生
日期:2007年9月8日 作者: 查看:[大字体 中字体 小字体]-
在ASP.NET中动态创建一个控件总是不那么顺利,特别是当对页面的Life Cycle不是那么了然的情况下!这里简单描述一下要求,然后提供一个解决方案,大家看看有没有更好的Idea,如果有的话就是我的大幸了,呵呵!
要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone!
提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常!大家都知道,按钮的点击事件是在RaisePostbackEvent时触发的,这意味着点击事件在OnLoad阶段之后才执行,远远落后于OnInit阶段,而且ViewState在OnLoad时才准备好,OnInit以及之前的阶段根本就不能使用ViewState!如果试图在按钮点击事件里面创建WebPartZone等控件,唯一的后果就是页面出错;而如果在OnInit里面创建控件,由于ViewState没有准备好,那么有些数据比如当前需要创建的个数(存在ViewState里面)就无法获得!
目前对这个问题我还没有找到什么好的解决方案,经过实验,勉强得出一个不怎么优雅的方案,就是利用HiddenField保存数据,然后直接使用Request.Form["XXX"]在OnInit阶段取得数据;而判断是否点击按钮也是通过Request.Form是否存在对应数据来判断的!废话不多说了,大家看看代码吧!
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<br />
<asp:Button ID="BTnAdd" runat="server" Text="Add" OnClick="btnAdd_Click" />
<asp:HiddenField ID="hfCount" runat="server" Value="0" />
</div> - [1] [2] [3] 下一页
-
- ASP.NET动态创建控件之绝境求生 相关文章:
- ·可爱的粉色QQ空间挂件
- ·vista分区软件
- ·大智慧股票软件Level-2入门手册
- ·卡巴斯基6.0key杀毒软件下载
- ·MSComm控件使用详解
- ·vista下用什么刻录软件?
- ·联讯证券同花顺软件分析系统使用
- ·QQ空间最新圣诞挂件代码
- ·Windows无法访问指定设备,路径或文件.您可能没有合适的权限访问这个项目
- ·各种文件后缀名与打开方式大全
- ASP.NET动态创建控件之绝境求生 相关软件
- ·瑞星杀毒软件 2007 V19.32.12 完全免费版
- ·瑞星杀毒软件 2008 V20.21.22 完全免费版
- ·flv格式转3gp格式专用软件(微视转码工具)
- ·csf文件播放器 V5.0.0 1118
- ·霓虹灯动画制作软件 V5.50
- ·同花顺证券行情分析软件(同花顺)2007 V4.40.12
- ·多特装机必备软件 11.9 更新
- ·诺顿防病毒软件(Norton AntiVirus) V2007
- ·恢复误删除的文件 Undelete PlusV2.93 简体中文版
- ·codesoft 条形码软件 V7.1.01
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:SQL各种写法的效率问题
精品推荐
热点TOP10
- ·C#编写的windows计算器-源代码
- ·用C#写计算器程序
- ·c#操作word表格
- ·AspNetPager分页控件--使用方法
- ·C#導出Excel源碼
- ·ASP.NET技巧:GridView控件自定义分页详解
- ·图片保存到数据库和从数据库读取图片并显示(c#)
- ·ASP.NET购物车的实现及结算处理
- ·客户端回调实现gridView无刷新分页
- ·ASP.NET中数据库的操作初步----增加、删除、修改
- ·C#获取本地计算机名IP,Mac地址
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·VS 2008和.NET 3.5 Beta2新特性介绍
- ·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
- ·Asp.net文件上传操作
- ·通常C#面试题
- ·身份证号码15位升18位(C#)
- ·ASP.NET无限级分类的非递归实现(存储过程版)
- ·asp.net开发wap程序必备:识别来访手机品牌型号
- ·ASP.NET一个最简单的会员登陆代码
特别推荐
- ·ASP.NET之上传文件管理策略
- ·ASP.NET程序中常用的三十三种代码
- ·ASP.Net中保护自定义的服务器控件
- ·C#设计的一个向导程序(Wizard)框架
- ·.net中即时消息发送的实现……
- ·ASP.NET动态创建控件之绝境求生
- ·.NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)
- ·C#中水晶按钮的程序生成
- ·日历函数单元
- ·图片保存到数据库和从数据库读取图片并显示(c#)
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·C#中四种进程或线程同步互斥的控制方法
- ·[C#]解决读写包含汉字的txt文件时乱码的问题
- ·AspNetPager分页控件--使用方法
- ·六步使用ICallbackEventHandler实现无刷新回调
- ·从 ASP.NET 服务器控件插入客户端脚本
- ·C#導出Excel源碼
- ·Asp.net直接保存文件到客户端
- ·如何在上传的图片上写字
- ·Access 通用数据访问类(asp.net 2.0 c#)
