2011-03-08 4 views
1

내가 요소를 추가 꿔을 통해 화면에 기록하는 HTML 도우미 인코딩과 같이 자바 스크립트를 통해 화면에 HTML 도우미를 사용하여 만든 :는 자바 스크립트

var element = '<%: Html.TextBoxFor(d => d.Item) %>'; 
$('body').append(element) 

를 어떻게 다음 제대로 그래서이 요소를 인코딩 할 그것은 안전하지만 또한 화면에 HTML을 씁니 까?

+0

으으합니다. MVC를 자바 스크립트와 함께 사용하지 마십시오. 자바 스크립트에 JSON을 작성하고 기존 MVC에서 작동하지 않는 경우 자바 스크립트 뷰/렌더링 시스템을 사용하십시오. – Raynos

답변

3

매우 추한하지만이 작동하지 않을 수 있습니다 :

var element = '<%= Html.TextBoxFor(d => d.Item).ToHtmlString() %>'; 
$('body').append(element); 

을하고 적절한 인코딩을 확인하려면 :

var element = '<%= HttpUtility.JavaScriptStringEncode(Html.TextBoxFor(d => d.Item).ToHtmlString()) %>'; 
$('body').append(element); 

더 나은 솔루션 :

$('body').append(
    $('<input/>', { 
     name: 'Item', 
     value: '<%= Model.Item %>' 
    }) 
); 
+0

그것은 일했다! 실제로, <% = HttpUtility.JavaScriptStringEncode (Html.Partial (...). ToHtmlString()) %> – ajbeaven