2013-09-25 58 views
1

我有DropDownList狀態得到填充時,頁面最初被加載(ddl_state)。我選擇一個狀態,然後點擊提交按鈕。我在btn_submit_Click方法的第一行有一個斷點。 Page_Load方法在此之前沒有運行。在btn_submit_Click方法的第一行中,ddl_state.SelectedValue的值是一個空字符串。我嘗試將DropDownlist的AutoPostBack設置爲true(在某處閱讀此文並認爲它可能會有所不同),但是然後下拉列表中的值會立即被清除!dropdownlist selectedvalue消失在提交(而不是IsPostBack問題!)

任何想法?

<asp:DropDownList ID="ddl_state" runat="server" 
             meta:resourcekey="ddl_stateResource1"> 
            </asp:DropDownList> 

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostBack) return; 

     lbl_errors.Text = string.Empty; 
     lblVoucherRequired.Text = string.Empty; 

     tb_name_addr_1.Focus(); 
     PopulateStates(); 
     PopulateFormFromSessionData(); 
    } 

protected void btn_submit_Click(object sender, EventArgs e) 
    { 
     if (!ValidateInput()) // ddl_state.SelectedValue is an empty string here!!! 
     { 
      return; 
     } 

     SetSessionVariables(); 

回答

1

您的問題是ViewState被禁用。

這表示您的兩個症狀:

AutoPostBack回傳啓用後
  • Server不知道什麼DropDownListSelectedValue
  • 檢查Web

    • DropDownList清除.config,page和control來檢查它們中沒有一個是否禁用viewstate。

      DISABLE VIEWSTATE

    +0

    就是這樣!謝謝! – birdus

    相關問題