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プロパティを使用します。GetQuestionari()

正常に動作しますが、ドロップダウン リストが空 (既定の項目を除く) かどうかを確認し、そうであれば既定のオブジェクト テキストを変更する必要があります。私はこのように(コードビハインドで)試しました:

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 に答える