dropdownlist.selectedValue 변경 (Formview의 어린이 제어로)
-
10-07-2019 - |
문제
좋아요 그중 하나는 ddlassigned라고 불리는 드롭 다운 목록입니다. 나는 페이지의 온부하 방법과 같은 페이지를 참조합니다.
protected void Page_Load(object sender, EventArgs e)
{
((DropDownList)FrmAdd.FindControl("DdlAssigned")).SelectedValue =
((Guid)Membership.GetUser().ProviderUserKey).ToString();
}
기본적으로 DropdownList의 기본값을 현재 로그인 한 사용자에게 설정합니다.
어쨌든 페이지가 완료되면 선택한 값 변경이 페이지에 반영되지 않습니다. 나는 onload를 밟았고 내 시계 목록에 변경 사항이 반영되는 것을 볼 수 있지만, 모든 것이 말하고 페이지에서 아무것도 다르지 않을 때 아무것도 다릅니다.
해결책
나는 그것을 알아. 나는 그것이 Formload에서만 작동하지 않는 이유를 정확히 누락했지만 FormView의 데이터 라운드 이벤트에서 변경을 수행하면 트릭을 수행합니다.
protected void FrmAdd_DataBound(object sender, EventArgs e)
{
// This is the same code as before, but done in the FormView's DataBound event.
((DropDownList)FrmAdd.Row.FindControl("DdlAssigned")).SelectedValue =
((Guid)Membership.GetUser().ProviderUserKey).ToString();
}
따라서 일반적인 경험의 규칙은 Databinding을 작업 할 때 제어를 변경하는 데 문제가있는 경우 바로 묶은 직후에 해당하는 것입니다.
다른 팁
DropdownList에 문제가 있었고 첫 번째 가치가 "값을 선택하십시오 ..."와 같은 말을했지만 실제 선택 가능한 항목으로 만들지 않고 DropdownList에 표시되지 않습니다. Page_load에서 DDL을 바인딩하고 데이터가 바운드 된 후 DropdownList의 텍스트를 설정해야합니다. 당신은 당신의 데이터 펀드 섹션에 그것을 추가함으로써 같은 것을 달성했습니다.
제휴하지 않습니다 StackOverflow