DropDownListコントロールを使用してアイテムを選択し、関連する結果を表示できるASP.NET Webフォームがあります。何らかの理由で、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がnullのエラーが発生します。私は、DropDownList1.SelectedValueを使用してページを読み込ませるコードをコメントアウトすると、DropDownList1は実際には値5に設定されているので、正しく設定されているように見えますが、すぐには使用できません。デバッガは、DropDownList.SelectedValueが、それを設定するコード行の直後に5に設定されていないことを確認します。
ここで何が起こっているのですか?
DropDownListは、宣言的にLinqDataSourceコントロールにバインドされています。私はPage_Loadイベントの前に起こると思う。あれは正しいですか? – joshb
明示的に呼び出さない限り –
SelectedValueを設定する直前にDropDownList1.DataBind()への明示的な呼び出しを追加しました。 – joshb