.NET FormView中的DropDownList第一次加载完美,以后再也不会加载了

本文关键字:加载 再也不 完美 FormView 中的 DropDownList 第一次 NET | 更新日期: 2023-09-27 18:19:28

我构建了一个DataTable,并用国家缩写和国家扩展名填充它。我将其作为FormViewDropDownList控件的DataSource。要查看此FormView,用户单击表单上的按钮。DropDownList总是在第一次时正确填充。处理完这个FormView(将记录添加到数据存储)后,用户必须单击他之前单击的相同按钮来添加另一个记录,但DropDownList从不填充的。我已经确认,在每次调用时都会填充提供该列表的DataTable。当然,代码也完全相同。

表单代码如下所示:

<asp:DropDownList ID="lstBornIn" runat="server" />

后面的代码看起来是这样的:

  tblCountry = (DataTable) Session["tblCountry"];
DropDownList lstBorn = (DropDownList) 
FormView1.FindControl("lstBornIn");
lstBorn.DataSource = tblCountry;
lstBorn.DataValueField = "Abbrev";
lstBorn.DataTextField = "Country";
lstBorn.DataBind();

如前所述,这是第一次完美地工作,但再也没有了。这似乎是一个绑定问题,因为在后续调用时Items列表为空。

有什么建议吗?

.NET FormView中的DropDownList第一次加载完美,以后再也不会加载了

我放弃了这一点,只想报告我还做了什么来解决这个问题。

有一种想法是,我看到的问题只发生在Visual Studio中,所以我在IIS7上建立了相关文件,并在三个主要浏览器中进行了尝试。所有的失败都是一样的。

(对我来说)最不可思议的是,当我使用VS调试器查看其中一个列表时,它将所有67项都整齐地收起来了。它就是不会给他们看。

我的解决方法很简单:对ASPX文件中的列表项进行硬编码。看起来很难看,但效果很好。

我会留意任何能提出不同方法的东西。

页面、DropDownList或DDL层次结构中的其他控件的ViewState是否已关闭?如果是这样,您将不得不重新打开它,或者重新绑定回发。