asp.net如何保存动态生成的控件状态

问题描述

前台代码<asp:RepeaterID="rpt_list"runat="server"OnItemDataBound="rpt_list_ItemDataBound"><ItemTemplate><trbgcolor="#FFF0F5"><tdalign="center"id="td_mc"runat="server"></td><tdwidth="20%"height="33"rowspan="1"align="center"><asp:TextBoxWidth="50px"ID="tbx_num"runat="server"Text="0"></asp:TextBox></td></tr></ItemTemplate></asp:Repeater>

现在需要在td_mc中动态生成多个dropdownlistprotectedvoidPage_Load(objectsender,EventArgse){BindInfo(orderid);}protectedvoidBindInfo(stringOrderID){rpt_list.DataSource=dt;rpt_list.DataBind();}protectedvoidrpt_list_ItemDataBound(objectsender,RepeaterItemEventArgse){//在此实现动态生成drpDropDownList[]drp=newDropDownList[dt.Rows.Count];for(inti=0;i<dt.Rows.Count;i++){drp[i]=newDropDownList();drp[i].ID="drp_mc_"+i.ToString();drp[i].Items.Add(newListItem(dt.Rows[i]["SendName"].ToString(),dt.Rows[i]["SendDh"].ToString()));td_mc.Controls.Add(drp[i]);}}

数据加载目前都没有问题,页面上repeater中有textbox需要输入数量,点击页面中按钮来遍历textbox中的数量就不对了,我知道要在page_load中加IsPostBack,但问题是加上IsPostBack后,动态生成的dropdownList就没了。。

解决方案

解决方案二:
自己顶
解决方案三:
用ViewState保存状态,Page_Load中重新加载。
解决方案四:
protectedvoidrpt_list_ItemDataBound(objectsender,RepeaterItemEventArgse){//在此实现动态生成drpDropDownList[]drp=newDropDownList[dt.Rows.Count];for(inti=0;i<dt.Rows.Count;i++){drp[i]=newDropDownList();drp[i].ID="drp_mc_"+i.ToString();drp[i].Items.Add(newListItem(dt.Rows[i]["SendName"].ToString(),dt.Rows[i]["SendDh"].ToString()));}td_mc.Controls.Add(drp[i]);//放这里}放在循环外试试
解决方案五:
引用3楼happytonice的回复:

protectedvoidrpt_list_ItemDataBound(objectsender,RepeaterItemEventArgse){//在此实现动态生成drpDropDownList[]drp=newDropDownList[dt.Rows.Count];for(inti=0;i<dt.Rows.Count;i++)……

不对
解决方案六:
ViewState保存是一个好方法或者推荐你看看P哥的也很不错防丢失
解决方案七:
从倾向上来说,其实我不太愿意忽悠人去写asp.net程序了。这就好象是老的艺术,毕竟asp.net是丧失了大好时光,其实要想说清楚其状态机制估计也没有几个人肯去钻研了。然而现在的ajax代码和开发工具进行企业开发,都很烂,跟blend相比连提鞋都不够。基本上我我会在大部分时间是哦那个blend、另外一部分时间使用vs。假设我要写html/javascript的话我会去使用ExpressionWeb,但是现在没有实现搞那个,而且现在有战略性的产品要研发、没有花时间去搞javascript做单纯的网页的功夫。
解决方案八:
引用6楼sp1234的回复:

从倾向上来说,其实我不太愿意忽悠人去写asp.net程序了。这就好象是老的艺术,毕竟asp.net是丧失了大好时光,其实要想说清楚其状态机制估计也没有几个人肯去钻研了。然而现在的ajax代码和开发工具进行企业开发,都很烂,跟blend相比连提鞋都不够。基本上我我会在大部分时间是哦那个blend、另外一部分时间使用vs。假设我要写html/javascript的话我会去使用ExpressionW……

感觉老曹对linq偏执P哥对blend类的程序设计偏执我去年搞wp7blend把我搞疯了
解决方案九:
引用7楼的回复:

引用6楼sp1234的回复:从倾向上来说,其实我不太愿意忽悠人去写asp.net程序了。这就好象是老的艺术,毕竟asp.net是丧失了大好时光,其实要想说清楚其状态机制估计也没有几个人肯去钻研了。然而现在的ajax代码和开发工具进行企业开发,都很烂,跟blend相比连提鞋都不够。基本上我我会在大部分时间是哦那个blend、另外一部分时间使用vs。假设我要写html/javascr……

这点特别同意呵呵p哥还不喜欢MVVM不喜欢ms那套JQury和Ajax

时间: 2024-11-13 08:37:40

asp.net如何保存动态生成的控件状态的相关文章

asp.net根据条件动态生成GridView,并动态绑定列,且可对其进行编辑的实现

 根据用户需要,一个页面中,有几个不同的button,点击不同的button,可在下方同一区域产生gridview,(当然他们的gridview是不同的).之前用MultiView来控制,用了几个view在html中绑定了几个Gridview,然后根据点击的按钮不同,切换不同的view.但总觉得这种方式不爽~~,html代码太多,控制起来很麻烦~!   于是就想到用这种动态的方式实现.Html中只有一个div,用来放置生成的控件,其他全部在后台实现.   有一点需要注意:如果是在html中加入的

ASP高级学习:数据库动态生成树形目录

一.  目录树的广泛应用   为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有.搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,JAVA中的AWT正是缺乏包括树形目录这样的组件才用处受限......谁这么没礼貌,一点面子都不给,叫我怎么讲下去?清了清嗓子:  在我们项目中常常会出现自关联的数据表,从整体看去,整个表就呈现为一个树形数据结构.当我们对这个表进行显示.编辑时,如果不采用好的表现形式,会显得很笨拙,采用树形目录进行管理显然是一个不错的主意.  (斧子抡

ASP.NET中如何动态生成验证码

现在不少网站中都使用了验证码的技术,实现方式也是多种多样,这里主要介绍ASP.NET中可以采用的一种动态生成验证码的方法,可能并不十分完美,但实现难度是属于较低的. 该方法是利用了普通的动态图片生成技术,但比较特别的一点是图片的生成是在一个Page类型的子类的Page_Load方法中执行的.所以Response的ContentType为image/Gif,而非text/html. GraphicalText.aspx.cs代码: using System; using System.Drawin

asp.net 2.0动态生成静态页并分页实例

看了看很多网页中的新闻都是分页的,我想实现这样的功能,看看他们实现的方法,基本是一个新闻分成多个html文件保存,然后用页码连接起来.(不知道我的理解是否正确,如果不正确请大家给我指点一二) 1.从数据库中获取新闻内容.包括新闻标题.内容等. 2.设置页面显示的字符串长度,获取新闻内容的字符长度.做初始设置 3.按页面大小设置的长度截取新闻内容的字符. 4.获取模板页面.在相关的替换字符中用标题.内容等替换字符串. 5.保存新页面到制定目录下面 下面是代码和资源管理器内容. solid.aspx

在ASP.NET中动态生成图形(转)

asp.net|动态|图形 在ASP.NET中动态生成图形 .NET有一个很灵巧的特性,就是可以编写代码生成动态图形,然后将生成的图形保存在磁盘上或者直接将其发送到客户端的浏览器. 原理 用.NET生成图形的功能封装在System.Drawing名称空间中,它支持多种图形文件格式,包括:JPEG.GIF.PNG.TIFF.BMP.PhotoCD.FlashPIX.WMF.EMF和EXIF. 创建这些图形的通用机制是构造一个BitMap(位图)对象,它为要创建的图形提供了内存空间.然后,就可以调用

asp.net动态生成控件-asp.net 动态生成checkboxlist的问题

问题描述 asp.net 动态生成checkboxlist的问题 从数据库随机取一些记录动态生成多个checkboxlist,怎么把用户选择的结果保存?好像一点提交,checkboxlist就重新生成了,由于每个checkboxlist的item数量不一样,得到的结果总是出错. 解决方案 便利checkboxlist,用逗号拼接,存入数据库字段 解决方案二: ASP.NET动态生成HTML页面Asp.Net 中 动态生成 Excel 解决方案三: 遍历没问题,可是已提交页面要刷新,checkbo

ASP.NET动态生成word文档

问题描述 刚学习C#,ASP.NET,老大让我用ASP.NET动态生成word文档,对于这个我不是太懂,有人可以告诉我应该怎么做么,最好有个程序例子.谢谢了~~~~ 解决方案 解决方案二:首先要添加引用:1.添加引用->COM->MicrosoftWord11.0ObjectLibrary2.在.cs文件中添加usingWord;代码如下:publicstringCreateWordFile(stringCheckedInfo){stringmessage="";try{O

ASP动态生成的javascript表单验证代码

javascript|表单验证|动态 以网上down了一个ASP动态生成Form验证javascript的代码,自己扩容了一下.作者的大名我给忘了,不过我记得清楚,从第一条至第九条的代码都是该作者的原创.至于九至第十五条却是本人自己加的哦.而且由于本人水平有限,从第九条至第十五条不见得会条条生效啊?呵呵,其实把它贴在这里没有什么必要的,因为这点小会伎俩谁都会用的,我把它的作用定位为:开发时找不到该函数时到这里拷贝一下就可以了.呵,因为我即没有刻录机也没有移动硬盘.实在是没有办法把这些代码随身携带

asp动态生成wbmp图片的程序

程序|动态 asp动态生成wbmp图片的程序 (ASP2001)<%@ Language=VBScript %><% '函数1:'将字符串转换成二进制Function StoB(varstr)str2bin = ""For i = 1 To Len(varstr)varchar = Mid(varstr, i, 1)str2bin = str2bin & ChrB(AscB(varchar))NextStoB = str2binEnd Function '函数