DropDownList
은 CreateChildControls
이라는 함수로 초기화하고 Controls
컬렉션에 추가합니다. 그런 다음 Render()
메서드를 재정의 한 다음 DropDownList
을 렌더링합니다. 웹 파트는 System.Web.UI.WebControls.WebParts.WebPart
에서 상속됩니다. 드롭 다운 목록을 바인딩 한 다음 새 목록 항목을 추가하십시오.
DropDownList
바인딩 :
private void BindClientTypes()
{
DataTable dt = DB.GetAllClientTypes();
if (dt == null)
{
ltGlobalErrorMsg.Text = GlobalErrorMessage;
ltGlobalErrorMsg.Visible = true;
}
else
{
ddlClient.DataSource = dt;
ddlClient.DataValueField = "ID";
ddlClient.DataTextField = "Name";
ddlClient.DataBind();
ddlClient.Items.Insert(0, PleaseSelectItem);
}
}
내가 DataBind
를 호출 한 후 DropDownList
의 SelectedIndex
을 설정하려고하면, 나는 컨트롤이 여러 선택한 항목을 가질 수 없습니다라는 오류가 발생합니다.
그 코드는 잘 작동, 나는이 줄을 주석 경우 I는 데이터 바인딩 후 SelectedIndex
을 설정할 수 있습니다 문제가 해결되지 왜
ddlClient.Items.Insert(0, PleaseSelectItem);
사람이 설명 할 수 있습니까?
감사합니다.
나를 괴롭혔던 것은 내가 선택한 목록을 "PleaseSelectItem"으로 설정하지 않았다는 것이 었습니다 ... 그러나 드롭 다운 목록의 선택된 색인은 항상 0이었고 색인 항목 0을 색인에 추가했습니다. 선택된 인덱스를 0으로 설정합니다. 예, 인스턴스를 다시 사용하지 않으면 코드가 올바르게 작동합니다. 감사합니다. 이것은 좋은 교훈이었습니다. 따라서 여러 개의 드롭 다운 목록에서 인스턴스를 재사용하지 마십시오. – iJK
아, 그건 이해가됩니다. 감사합니다. – iJK