2010-01-01 5 views
1

내 web.config (intellisense 수정 필요)에 pageBaseType="Spark.Web.Mvc.SparkView"을 추가하면 어떻게 든 더 이상 올바르게 링크를 렌더링하지 않습니다.왜 Spark viewengine이 불필요한 (또는 예기치 않은) 인용 부호를 렌더링합니까?

이처럼 보이도록 해야하는 방법이다 (페이지의 기본 유형을 지정하지 않으면, 않습니다)

alt text http://i49.tinypic.com/2woyakn.jpg

이 기본 형식은 =>

를 지정 때 모습입니다> =

alt text http://i49.tinypic.com/2n6rx9f.jpg

크롬 소스 뷰어 두 경우 =>

<body> 
    <div class="content"> 
     <div class="navigation"> 
      <a href="/Employee/List">Employees</a> 
      <a href="/Product/List">Products</a> 
      <a href="/Store/List">Stores</a> 
      <div class="navigation_title"> 
       Navigation</div> 
     </div> 
     <div class="main"> 
      <div class="content"> 
<h2>Employees</h2>Nothing found... 
&lt;a href=&quot;/Employee/Create&quot;&gt;Create&lt;/a&gt;   
      </div> 
     </div> 
    </div> 
</body> 
대해 동일한 페이지의 소스 코드를 나타낸다

개발자 도구하지 않습니다 =>

alt text http://i50.tinypic.com/iz7vpg.jpg

그래서 - (그런 일이 무엇 인 경우) 내 링크가 htmlencoded됩니다 이유는 무엇입니까? 이것이 기본 동작이라면 원시 html을 렌더링하는 방법은 무엇입니까?


최신 Spark 버전을 사용하여 Asp.Net Mvc2 RC 조립품으로 재구성합니다.

답변

1

은 web.config에서 automaticEncoding이 true로 설정되어 있습니까?

<spark> 
    <pages automaticEncoding="false"> 
    </pages> 
</spark> 
+0

아하 ... 유니 코드/아스키와 관련이 있다고 생각했습니다. 그냥 복사/붙여 넣기 예제를하고 그것에 대해 잊어 버렸습니다. 어쨌든 - 자동 인코딩을 무시하는 법? –

+0

그냥 false로 설정하고 뭔가를 인코딩하려는 경우 H()를 사용하십시오. –

+0

내가 이해 한 것입니다. 수용 가능한 솔루션입니다. 그냥 궁금해 - 내가 사실을 유지하고 여전히'NH()'와 같은 HTML로 렌더링 할 수 있다면. :) –

1

여기에는 2 가지 문제가 있습니다. 먼저 인코딩 문제가 발생합니다. 두 번째 인용문은 모두 Chrome입니다.
크롬이 텍스트 및 링크를 CDATA 노드 안에 넣었습니다. 귀하의 페이지에 뭔가가 XHTML을 렌더링하기 위해 트리거되어 DIV 내에 텍스트가 허용되지 않습니다. 일반적으로 HTML 요소의 XHTML 네임 스페이스가 XHTML 네임 스페이스를 사용하거나 앱이 XHTML MIME 형식의 페이지를 보내고 있습니다. 하지만 크롬에 대한 테스트를 통해 페이지에 대한 다른 것들이 자체 종료 태그 등의 XHTML 모드로 실행된다는 것을 알았습니다.