2013-08-19 4 views
1

저는 .net 프로그래밍을 처음 접했고 아마도 내가하려는 것은 비교적 간단하지만 지금까지는 유용한 예제를 찾을 수 없었습니다.앵커 태그 요소가있는 DropDownList

DropDownList에 앵커 요소를 생성하려고합니다. 코드 뒤에 (C#을), 나는 데이터베이스를 심문 (결과는 URL, 설명 및 제목을 반환) 다음으로 DropDownList로를 입력 할에서

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"> 
</asp:DropDownList> 

: 나는 asp.net에서 다음 코드를 :

while (reader){ 
    list.Add("<a href='" + url + "'> " + title +" "+ description+"</a>"); 
} 
this.DropDownList1.DataSource = list; 

this.DropDownList1.DataBind(); 

그러나 드롭 다운리스트에 전체 라인을 보여주고있다 :

<a href="url">Title description</a> 

나는 다음과 같이 드롭 다운리스트에 dB 결과를 추가

"<a href='" + url + "'> " + title +" "+ description+"</a>" 

URL, 제목 및 설명이 해석되고 앵커 태그가 표시됩니다.

제목 만 표시하고 싶습니다. 그리고 선택하면, 사용자를 href 속성에 표시된 URL로 리디렉션하고 싶습니다.

asp.net 및 C#에서이 작업을 수행 할 수 있습니까? 누군가가 몇 가지 예나 팁으로 나를 도울 수 있습니까?

답변

0

나는 생각한다, 대신 드롭 다운에 앵커 태그를 가지고 노력하고, 당신은 OPTIONvalue 된 URL을 일반 선택 요소를 표시해야합니다. 그래서 HTML 마크 업

<SELECT id="SomeSelect"> 
    <OPTION value="http://www.google.com">Google</OPTION> 
    <OPTION value="http://www.aol.com">AOL</OPTION> 
    <OPTION value="http://www.yahoo.com">Yahoo</OPTION> 
</SELECT> 

지금 드롭 다운의 change 이벤트를 수신하고 선택한 항목의 value 속성의 값을 얻을 탐색하는 것을 사용하는 자바 스크립트를 사용하여 다음과 같이 표시됩니다. 아래 코드 샘플은 jQuery 라이브러리가 페이지에로드되었다고 가정합니다.

$(function(){ 

    $("#SomeSelect").change(function(e){ 
    var selectedUrl=$(this).val(); 
    window.location.href=selectedUrl; 
    }); 

}); 
0

DropDownList은 실제로 사용자가 요구하는 것을 수행하도록 설계되지 않았습니다. value 속성의 URL을 DropDownList으로 바인딩하고 설명/제목을 text 요소로 바인딩하도록 코드를 업데이트하는 것이 좋습니다.

while (reader){ 
    // read about the ListItem here http://msdn.microsoft.com/en-us/library/7f7h2h8h.aspx 
    list.add(new ListItem(title + " " + description, url)); 
} 

그런 다음 SelectedIndexChanged 이벤트 처리기를 컨트롤에 추가하십시오. 그래서 귀하의 페이지로드에 추가;

this.DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged; 

그런 다음 처리 할 메서드를 만듭니다.

public void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){ 
    Response.Redirect(this.DropDownList1.SelectedValue); 
}