我正在开发一个基于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中填充列表?
发布于 2015-02-05 18:12:20
当页面不是回发时,您正在检查计数,这意味着这是第一次加载页面。如果这是第一次,DDL将不会被填充。
https://stackoverflow.com/questions/28350953
复制相似问题