动态创建的DropDownList失去对回发ListItems的

编程入门 行业动态 更新时间:2024-10-26 18:16:24
本文介绍了动态创建的DropDownList失去对回发ListItems的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个包含一些动态创建的控件(文本框和DropDownList的)的页面。当回发时,文本框保持其价值,但DropDownLists失去ListItems的。这是相当混乱,因为在页级别DropDownList中也保持其ListItems的。任何人都可以看看有什么不对的code以下?

在解决这一问题将是极大的AP preciated任何帮助。

<%@页面语言=VB%GT;<脚本=服务器>  保护小组Page_Init(BYVAL发件人为对象,BYVAL E上System.EventArgs)    如果没有Page.IsPostBack然后      ddlFixed.Items.Add(新列表项(12,13))      ddlFixed.Items.Add(新建列表项(14,15))    万一    昏暗我作为整数    对于i = 0至3      朦胧DDL作为新的DropDownList      ddl.ID =ddlPage与&一世      ddl.EnableViewState = TRUE      如果没有Page.IsPostBack然后        ddl.Items.Add(新列表项(12,13))        ddl.Items.Add(新建列表项(14,15))      万一      pnlDynamic.Controls.Add(DDL)      昏暗txtBx作为新文本框      txtBx.ID =txtPage与&一世      如果没有Page.IsPostBack然后        txtBx.Text =preSET      万一      pnlDynamic.Controls.Add(txtBx)    下一个  结束小组< / SCRIPT>< HTML的xmlns =htt​​p://www.w3/1999/xhtml><头=服务器>  <标题>< /标题>< /头><身体GT;  <表ID =form1的=服务器的EnableViewState =真>  < D​​IV>    < BR />    < BR />    < A HREF =Default.aspx的>获取请求< / A>    < BR />    < BR />    < ASP:面板=服务器ID =pnlDynamic的EnableViewState =真/>    < BR />    < BR />    < ASP:DropDownList的=服务器ID =ddlFixed/>    < ASP:按钮=服务器ID =BTN文本=回传/>  < / DIV>  < /表及GT;< /身体GT;< / HTML>

解决方案

我已经找到了解决方案,让我继续视图状态在回传。这是调用ItemCollection的TrackViewState。

CTYPE(ddl.Items,IStateManager).TrackViewState()

感谢所有您的帮助。

这是工作的解决方案:

<%@页面语言=VB%GT;<脚本=服务器>  保护小组Page_Init(BYVAL发件人为对象,BYVAL E上System.EventArgs)    如果没有Page.IsPostBack然后      ddlFixed.Items.Add(新列表项(12,13))      ddlFixed.Items.Add(新建列表项(14,15))    万一    昏暗我作为整数    对于i = 0至3      朦胧DDL作为新的DropDownList      ddl.ID =ddlPage与&一世      CTYPE(ddl.Items,IStateManager).TrackViewState()      如果没有Page.IsPostBack然后        ddl.Items.Add(新列表项(12,13))        ddl.Items.Add(新建列表项(14,15))      万一      pnlDynamic.Controls.Add(DDL)      昏暗txtBx作为新文本框      txtBx.ID =txtPage与&一世      如果没有Page.IsPostBack然后        txtBx.Text =preSET      万一      pnlDynamic.Controls.Add(txtBx)    下一个  结束小组< / SCRIPT>< HTML的xmlns =htt​​p://www.w3/1999/xhtml><头ID =头像1=服务器>  <标题>< /标题>< /头><身体GT;  <表ID =form1的=服务器>  < D​​IV>    < BR />    < BR />    < A HREF =Default.aspx的>获取请求< / A>    < BR />    < BR />    < ASP:面板=服务器ID =pnlDynamic/>    < BR />    < BR />    < ASP:DropDownList的=服务器ID =ddlFixed/>    < ASP:按钮=服务器ID =BTN文本=回传/>  < / DIV>  < /表及GT;< /身体GT;< / HTML>

I have a page that contains some dynamically created controls (TextBox and DropDownList). When a postback occurs, the TextBoxes keep their values, but the DropDownLists lose their ListItems. This is quite confusing, since the page level DropDownList also keeps its ListItems. Can anyone see what's wrong with the code below?

Any help in solving this issue would be greatly appreciated.

<%@ Page Language="VB"%> <script runat="server"> Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) If Not Page.IsPostBack Then ddlFixed.Items.Add(New ListItem("12", "13")) ddlFixed.Items.Add(New ListItem("14", "15")) End If Dim i As Integer For i = 0 To 3 Dim ddl As New DropDownList ddl.ID = "ddlPage" & i ddl.EnableViewState = True If Not Page.IsPostBack Then ddl.Items.Add(New ListItem("12", "13")) ddl.Items.Add(New ListItem("14", "15")) End If pnlDynamic.Controls.Add(ddl) Dim txtBx As New TextBox txtBx.ID = "txtPage" & i If Not Page.IsPostBack Then txtBx.Text = "Preset" End If pnlDynamic.Controls.Add(txtBx) Next End Sub </script> <html xmlns="www.w3/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server" enableviewstate="true"> <div> <br /> <br /> <a href="Default.aspx">Get-Request</a> <br /> <br /> <asp:Panel runat="server" ID="pnlDynamic" EnableViewState="true" /> <br /> <br /> <asp:DropDownList runat="server" ID="ddlFixed" /> <asp:Button runat="server" ID="btn" Text="Postback"/> </div> </form> </body> </html>

解决方案

I have found the solution that will allow me to keep the viewstate across postbacks. It's to call TrackViewState of the ItemCollection.

CType(ddl.Items, IStateManager).TrackViewState()

Thanks to all for your help.

This is the working solution:

<%@ Page Language="VB"%> <script runat="server"> Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) If Not Page.IsPostBack Then ddlFixed.Items.Add(New ListItem("12", "13")) ddlFixed.Items.Add(New ListItem("14", "15")) End If Dim i As Integer For i = 0 To 3 Dim ddl As New DropDownList ddl.ID = "ddlPage" & i CType(ddl.Items, IStateManager).TrackViewState() If Not Page.IsPostBack Then ddl.Items.Add(New ListItem("12", "13")) ddl.Items.Add(New ListItem("14", "15")) End If pnlDynamic.Controls.Add(ddl) Dim txtBx As New TextBox txtBx.ID = "txtPage" & i If Not Page.IsPostBack Then txtBx.Text = "Preset" End If pnlDynamic.Controls.Add(txtBx) Next End Sub </script> <html xmlns="www.w3/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="form1" runat="server" > <div> <br /> <br /> <a href="Default.aspx">Get-Request</a> <br /> <br /> <asp:Panel runat="server" ID="pnlDynamic" /> <br /> <br /> <asp:DropDownList runat="server" ID="ddlFixed" /> <asp:Button runat="server" ID="btn" Text="Postback"/> </div> </form> </body> </html>

更多推荐

动态创建的DropDownList失去对回发ListItems的

本文发布于:2023-10-12 21:12:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1485910.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:动态   DropDownList   ListItems

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!