C# 为什么不传递下拉列表值?

C# 为什么不传递下拉列表值?,c#,asp.net,C#,Asp.net,我正在动态填充DDL: <asp:DropDownList ID="ddlTimeZone" Style="width: auto" runat="server" > </asp:DropDownList> 一切正常,但当我尝试获取所选值时,会得到一个空字符串 string item = ddlTimeZone.SelectedValue; -> empty string.. 如何解决此问题?检查页或父控件的Control.Ena

我正在动态填充DDL:

<asp:DropDownList ID="ddlTimeZone" Style="width: auto" runat="server" >
                </asp:DropDownList>
一切正常,但当我尝试获取所选值时,会得到一个空字符串

string item = ddlTimeZone.SelectedValue; -> empty string..

如何解决此问题?

检查页或父控件的Control.EnableViewState。也许您可以将其关闭?

因为ASP.NET中控件的生命周期—生成动态值将在回发过程中消失

尝试在if之外调用initTimeZone方法!i返回状态并查看其是否有效。像这样:

 protected void Page_Load(object sender,EventArgs e)   {
      if(!Page.IsPostBack) {
        //Some Code
      }
      initTimeZone();
 }

在哪里调用initTimeZone方法?它在页面加载中吗?你把它放在if中了吗!Page.IsPostBack{}?在Page_加载函数中,如果!IsPostBack{initTimeZone;}此代码位于何处:string item=ddlTimeZone.SelectedValue@user2560521不我是说用哪种方法?也许您应该添加包含字符串item=ddlTimeZone.SelectedValue的方法的代码;
 protected void Page_Load(object sender,EventArgs e)   {
      if(!Page.IsPostBack) {
        //Some Code
      }
      initTimeZone();
 }