2011-02-25 6 views
3

내 코드에서 참조해야하는 asp : DropDownList 요소가 있는데 특수 문자가있는 매우 구체적인 이름이 있어야 사용할 수 있습니다. 이드처럼.asp의 html '이름'설정 : DropDownList

.aspx 파일에서 수동으로 이름을 설정할 수 있습니까? 지금 그것을 할 때 :

HTML은 이름 속성이 렌더링됩니다.

+1

일반적으로 그렇게 할 수 없습니다. 서버 컨트롤은 container_ControlId와 같은 ID로 렌더링되고 이름은 container $ ControlId가됩니다. – Jith

답변

1

name 속성은 자동으로 생성되므로 사용자가 설정할 수 없습니다. 그러나 컨트롤의 ClientID 속성을 통해 액세스 할 수 있습니다.

+0

불행히도 name 속성을 설정하는 것은 내 앱의 요구 사항입니다. 주변에 다른 작업이 있습니까? 또는 웹 컨트롤 사용을 중지하고 순수한 HTML을 사용하는 것이 가장 좋습니다. – BenMills

+0

ID에 어떤 특수 문자가 필요합니까? 여기에 – Hna

+0

이 있습니다. user [name] – BenMills

0

정확히 OP가 요청한 것은 아니지만 페이지가로드 된 후에 JavaScript 또는 jQuery를 사용하여 name 속성을 변경할 수 있습니다. 이것은 원하는 이름을 다른 곳에 둘 수 있다고 가정합니다. 예를 들어, "MyValue123", 당신은 다음 자바 스크립트를 추가 할 수 있습니다 할 수있는 DropDownList의 클래스 속성을 설정 말에 클릭 (다음 가정 jQuery를 지원) 중 하나 페이지로드 핸들러 또는에 제출 : 당연히

<select class="MyValue123"> 
</select>  

<script type="JavaScript"> 
    function fixSelectNames(){ 
     $("select").each(function(){ 
      $(this).attr("name", $(this).attr("class")); 
     }); 
    } 
    $(document).ready(function(){ 
     fixSelectNames(); 
    }); 
</script> 

<input type="submit" value="Go" onclick="fixSelectNames();" /> 

을 JavaScript 코드는 "MyValue123"에 대한 올바른 값을 포함하도록 ASPX를 통해 작성 될 수 있습니다. Submit 버튼의 JavaScript on-click 핸들러에 배치되면 매개 변수가 브라우저에 게시되기 전에 코드가 실행되어 서버가 업데이트 된 이름으로 값을 수신하게됩니다.