사용자가 항목을 선택하고 관련 결과를 볼 수 있도록 DropDownList 컨트롤을 사용하는 ASP.NET 웹 폼이 있습니다. 어떤 이유로 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