.aspx 파일에는 일반적인 html 코드와 "Panel1"컨트롤이 있습니다. 우선 "ddl"이라는 드롭 다운 목록을 만들고 여기에 ListItems를 추가합니다.이 모든 것은 코드 뒤에 있습니다. 다음으로 특정 수의 다른 DropDownLists를 만들고 페이지를 실행할 때 "Panel1"컨트롤에 추가해야하는 "ddl"에 추가 된 모든 ListItems를 복사하려고합니다. 가장 중요한 부분은 동적으로 생성 된 모든 드롭 다운리스트가 페이지를 실행할 때 선택된 값을 가지기를 바랍니다.SelectedValue 속성과 동적으로 생성 된 DropDownLists. ASP.NET
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl = new DropDownList();
ddl.Items.Add(new ListItem("One", "1"));
ddl.Items.Add(new ListItem("Two", "2"));
ddl.Items.Add(new ListItem("Three", "3"));
ddl.Items.Add(new ListItem("Four", "4"));
ddl.Items.Add(new ListItem("Five", "5"));
ddl.Items.Add(new ListItem("Six", "6"));
ddl.Items.Add(new ListItem("Seven", "7"));
int j = 2;
for (int h = 0; h < 3; h++)
{
DropDownList ddlDynamic = new DropDownList();
//Add the items from ddl to the new dropdownlsit
for (int i = 0; i < ddl.Items.Count; i++)
{
ddlDynamic.Items.Add(ddl.Items[i]);
}
//the selected item in the first dropdownlist
//must be "Two" but it will be "Four". WHY???
ddlDynamic.SelectedValue = j.ToString();
ddlDynamic.ID = h.ToString();
Panel1.Controls.Add(ddlDynamic);
Panel1.Controls.Add(new LiteralControl("<br />"));
j++;
}
}
여기서 문제는 세 dropdownlists에 대해 선택한 값이 동일 할 것입니다 그것은 "네"입니다, "2"해야 논리적으로 첫 번째, 두 번째 "당신은 아래의 코드를 볼 수 있습니다 3 "이고 세 번째 값은"4 "가 선택 값이어야합니다. 첫 번째 질문은 : 내가 뭘 잘못하고 있니?
두 번째 질문입니다. ddlDynamic.SelectedValue = j.ToString();
대신 ddlDynamic.Items.FindByValue(j.ToString()).Selected = true;
을 사용할 때 "DropDownList에서 여러 항목을 선택할 수 없습니다."라는 메시지가 나타납니다. 왜 그런가요?
감사합니다.
감사합니다. 당신이 지적한 기사가 정말 좋습니다. 그러나 대답은 조금 다릅니다. – John