2009-11-07 4 views
0

내 프로젝트에서 내가 드롭 다운 목록에 소스 정보를 보관했습니다. 정보 출처와 마찬가지로 : dropdownlist 세 항목 웹 사이트, 신문 및 기타. 사용자가 기타 항목을 선택하면 다른 텍스트 상자 만 표시되어야합니다. 그렇지 않으면 보이지 않아야합니다. 그 때문에 페이지로드 이벤트에 설정했습니다도움이 필요하십니까 asp.net 다른 텍스트 상자

lblother.visible = false; txtother.visible = false;

그리고 Btnsubmit 이벤트에서 나는 같은 조건을 작성했습니다. if (dropdownlistinfo.selectedindex == 2) { lblother.visible = true; txtother.visible = true; } 하지만 제 경우에는 저의 결과를 얻지 못하고 있습니다. 그것도 항상 drowdownlist에서 다른 항목을 선택할 때 보이지 않습니다. 누군가 내 실수를 어디서 도와 주겠니?

덕분에, 수밋

답변

0

나는 문제가 여기에있다 생각합니다.

if (!IsPostBack) 
{ 
    lblother.visible = false; 
    txtother.visible = false; 
} 
+0

안녕하세요. Mehdi 저는 if 조건을 작성했지만 작동하지 않으면 pls가 대체 솔루션을 제공합니다. – Sumit

0

기본 목록 항목의 Selected 속성을 설정하면 작동합니다.

<asp:DropDownList ID="DropDownList" runat="server"> 
<asp:ListItem Text="Website" Selected="True"></asp:ListItem> 
<asp:ListItem Text="Newspaper"></asp:ListItem> 
<asp:ListItem Text="Other"></asp:ListItem> 
</asp:DropDownList> 
<asp:Label ID="lblOther" runat="server" Text="Other"></asp:Label> 
<asp:TextBox ID="txtOther" runat="server"></asp:TextBox> 

페이지로드 이벤트에서 컨트롤을 숨 깁니다.

protected void Page_Load(object sender, EventArgs e) 
{ 
    this.txtOther.Visible = false; 
    this.lblOther.Visible = false; 
} 

그런 다음 버튼 클릭 이벤트에 컨트롤을 표시하십시오.

protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (DropDownList1.SelectedIndex == 2) 
    { 
     this.txtOther.Visible = true; 
     this.lblOther.Visible = true; 
    } 
} 
+0

안녕하세요, 아래의 작업 dropdown_selectedindex 변경 이벤트. 이를 위해 dropdownlist 컨트롤에서 autopostback = true를 설정해야했습니다. 이제 문제는 내가 처음으로 응용 프로그램을 실행하고 드롭 다운 목록에서 다른 항목을 선택할 때입니다. 다른 lable 및 기타 텍스트 상자가 표시되지만 drowpdownlist에서 웹 사이트 나 신문을 선택하면 다른 텍스트 상자와 lable이 즉시 표시되어야합니다. 하지만 그 일은 일어나지 않습니다. Pls이 문제를 해결 .... 덕분에 – Sumit

+0

감사 Mr.Phaedrus 그 잘 ... – Sumit

+0

이것은 SelectedIndexChanged 이벤트를 사용하여 동일하게 작동합니다. ! IsPostPack에 래핑 된 페이지로드 이벤트에서 txtOther.Visibile = false 및 lblOther.Visibile = false입니까? 그렇다면 블록 내부에서 이러한 문을 제거하십시오. – Phaedrus

관련 문제