0

많은 문법 오버 헤드없이 문서를 준비 할 때 JavaScript를 실행하고 싶습니다. 그것은 잘 작동하지만, 비주얼 스튜디오는 불만과 경고를 제공jQuery document.ready + Asp.Net ContentPlaceholder로 인해 Visual Studio Intellisence 문제가 발생합니다.

<asp:Content ID="Content3" ContentPlaceHolderID="OnReadyScript" runat="server"> 
    $("#Login").focus(); 
</asp:Content> 

:

<script type="text/javascript"> 
    $(document).ready(function() { 
     <asp:ContentPlaceHolder ID="OnReadyScript" runat="server" /> 
    }); 
</script> 

상속 페이지에서

그냥 일반 코드를 작성 : 아이디어는 Site.MasterContentPlaceholder을 사용하는 것입니다.

마스터 페이지에서의 경고는 라인의 <asp:ContentPlaceHolder입니다.

<% Writer.Write(@"<script type=""text/javascript"">$(document).ready(function() {"); %> 
<asp:ContentPlaceHolder ID="OnReadyScrit" runat="server" /> 
<% Writer.Write(@"});"); %> 

하지만 페이지 렌더링이 렌더링 스크립트 태그를 연 후 종료 : 경고 상속 페이지에서

Could not find 'OnReadyScript' in the current master page or pages.

내가 script 태그와 포장 코드를 렌더링하는 마스터 페이지에 Writer.Write를 사용하여 시도입니다. HTML은 기본적으로 끝납니다

<script type="text/javascript"> 

어떻게 작동합니까?

답변

0

이것은 Visual Studio의 구문 강조 표시의 버그입니다. 렌더링`script` 태그를 연 후 종료 -

는`Writer.Write`이와 같은

<%= @"<script type=""text/javascript"">$(document).ready(function() {" %> 
<asp:ContentPlaceHolder ID="OnReadyScript" runat="server" /> 
<%= @"});" %> 
+0

동일보십시오. '$ (document) ... '는 렌더링되지 않습니다. Asp.Net에서 JavaScript 삽입의 일종의 내장 된 보호 기능이있는 것처럼 보입니다. –