问题描述
前台代码<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