2010-07-02 2 views
1

.net에 익숙하지 않아 .net 응용 프로그램에서 생성 한 HTML 소스 코드를 볼 때 캐리지 리턴이 head 태그에서 제거된다는 것을 알았습니다. 그것에 runat="server" 속성이있을 때.ASP.NET runat = server가 헤드 태그에서 캐리지 리턴을 제거합니다.

runat="server"을 제거하고 반품 ... 신고합니다.

head 태그의 전체 내용을 1 행으로 만들기 때문에 머리말에 자바 스크립트 및 CSS 파일이 몇 개있을 때마다 실제로 더러워 보입니다.

출력을 막히지 않도록 구성을 제어하거나 .net을 통해 구성을 알리는 방법이 있는지 궁금한가요?

감사합니다.

+0

당신이나 누군가가 인라인이 아닌 Title 태그를 풀기위한 해결책을 찾았다면 궁금합니다. 감사. – Manu

답변

1

ControlAdapter를 만들 수 있습니다. 내용으로 App_Browsers 디렉토리에 파일 Head.Browser을 추가

<browsers> 
    <browser refID="Default"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.HtmlControls.HtmlHead" 
       adapterType="MyNamespace.MyHeadAdapter, MyAssembly" /> 
    </controlAdapters> 
    </browser> 
</browsers> 

어댑터 소스 :

public class MyHeadAdapter: ControlAdapter 
    { 
     protected override void Render(HtmlTextWriter writer) 
     { 
      // base.Render(writer); 
      // do the fix here 
     } 
    } 

PS :이 코드를 테스트하지했지만, 거의 다시 작성 같은 사용했다 이 폼의 액션은 HtmlTextWriter에서 파생 된 사용자 정의 클래스를 사용합니다.

0

이 문제를 직접 해결하기 위해이 기사를 보았습니다.

runat = server 속성이 설정되었을 때 두 가지 문제점이 나타났습니다. 1) 메타 태그 간의 캐리지 리턴이 제거되어 모든 메타 태그가 한 줄로 묶여졌습니다. 2) 제목 태그는 꽤 엉망이되었습니다 (DVD는 완벽하게 설명했습니다)

내가 가진 문제점은 페이지 제목, 메타 설명 및 메타 키워드를 동적으로 설정해야한다는 것이 었습니다. 동적으로 페이지 제목을 설정하려면 runat = server 속성을 설정해야합니다.

내 솔루션;

  1. .InnerText 속성을 제목 태그를 참조 뒤에 제목 태그 코드에서
  2. 에 RUNAT = 서버 attirbute 추가 헤드 태그
  3. 에서 RUNAT = 서버 속성을 제거하고 설정

희망이 도움이됩니다.

관련 문제