dropdownlist selectedvalue在提交时消失(不是PostBack问题!)

时间:2013-09-25 17:56:50

标签: asp.net combobox

我有一个DropDownList状态在页面最初加载时填充(ddl_state)。我选择一个州,然后点击“提交”按钮。我在btn_submit_Click方法的第一行有一个断点。在此之前没有运行Page_Load方法。在btn_submit_Click方法的第一行,ddl_state.SelectedValue的值是一个空字符串。我尝试将下拉列表的AutoPostBack设置为true(在某处读取并认为它可能会有所不同),但是下拉列表中的值会立即被清除!

有什么想法吗?

<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 个答案:

答案 0 :(得分:2)

您的问题是ViewState已停用。

这表明了您的两种症状:

    回复后,
  • DropDownList会在AutoPostBack启用
  • 后清除
  • 服务器不知道SelectedValue的{​​{1}}是什么

检查web.config,page和control以检查它们是否都禁用了viewstate。

DISABLE VIEWSTATE