문제

좋아요 그중 하나는 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의 텍스트를 설정해야합니다. 당신은 당신의 데이터 펀드 섹션에 그것을 추가함으로써 같은 것을 달성했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top