0

我正在开发一个基于 Web 表单的小 Web 应用程序。它使用一些 DropDownList asp 控件。这是我附加了默认空值的控件 --- seleziona ---

                <asp:DropDownList
                    ID="dropQuestionari"
                    runat="server"
                    SelectMethod="GetQuestionari"
                    AppendDataBoundItems="true"
                    ItemType="Models.Questionario"
                    DataTextField="Questionariointestazione"
                    DataValueField="idQuestionario">
                    <asp:ListItem Text="--- seleziona ---" Value="" Selected="true"></asp:ListItem>
                </asp:DropDownList>

该控件使用SelectMethod属性 withGetQuestionari()方法检索填充列表所需的所有项目。

它工作正常,但我需要检查下拉列表是否为空(不包括默认项),如果是则更改默认对象文本。我试过这样(在后面的代码中):

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        //...

        if (dropQuestionari.Items.Count == 1) 
        {
            dropQuestionari.Items[0].Text = "Nessun questionario per l'utente corrente";
            this.confirmButton.Enabled = false;
        }
    }
}

似乎列表没有在页面加载时填充并且dropQuestionari.Items.Count总是返回1(显然它只计算默认项)。如何强制在 PageLoad 中填充列表?

4

1 回答 1

0

当页面不是回发时,您正在检查计数,这意味着这是第一次加载页面。如果是第一次,则不会填充 DDL。

于 2015-02-05T18:12:20.863 回答