我正在开发一个基于 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 中填充列表?