我有一個ASP.NET webform,我使用DropDownList控件來允許用戶選擇一個項目並查看相關結果。出於某種原因,當我設置DropDownList的SelectedValue屬性時,它設置的值不可立即使用。ASP.NET DropDownList SelectedValue屬性沒有立即設置
這裏是我的代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DropDownList1.SelectedValue = "5";
BindView();
}
}
protected void BindActivities()
{
DataClassesDataContext dc = new DataClassesDataContext();
var query = from activity in dc.Activities
where activity.AssignedTo == Convert.ToInt32(DropDownList1.SelectedValue);
GridView1.DataSource = query;
GridView1.DataBind();
}
在上面的代碼我得到一個錯誤,DropDownList1.SelectedValue爲空。奇怪的是,如果我將使用DropDownList1.SelectedValue的代碼註釋掉並讓頁面加載,則DropDownList1實際上被設置爲值5.因此,它看起來已經正確設置,但不是立即可用。調試器確認DropDownList.SelectedValue沒有在設置它的代碼行之後立即設置爲5。
任何想法發生了什麼?
DropDownList正在聲明性綁定到LinqDataSource控件。我認爲想法發生在Page_Load事件之前。那是對的嗎? – joshb 2009-06-18 14:22:15