2017-03-13 2 views
0

Gibt es eine Möglichkeit, Einzug in _layout.cshtml Seite in @RenderBody() hinzuzufügen, um Quellcode schön zu machen?hinzufügen Einzug zu "@RenderBody()"

Das Problem ist Hinzufügen von Einzug in _layout.cshtml Seite vor @RenderBody() funktioniert nicht. Ich muss Einzug in meiner Ansicht wie (index.cshtml) hinzufügen, und ich möchte, dass auf "_layout.cshtml" bewegen

_layout.cshtml:

<html> 
    <body> 
     <div> 
     @RenderBody() 
     </div> 
    </body> 
</html> 

index.cshtml

@{ 
    Layout = "~/Views/Shared/_TestLayout.cshtml"; 
} 
<h2>Index</h2> 

Seite view-source:

<html> 
    <body> 
     <div> 
<h2>Index</h2> <!-- problem here --> 
     </div> 
    </body> 
</html> 

meine Lösung ist indent zu index.cshtml wie dieser Code hinzufügen:

@{ 
    Layout = "~/Views/Shared/_TestLayout.cshtml"; 
} 
*************<h2>Index</h2><!-- my solution --> 

ist es eine Möglichkeit, das zu _layout.cshtml zu bewegen:?

+0

Warum brauchen Sie Einzüge? Alle modernen Browser werden Ihren HTML-Code für Sie einrücken. –

Antwort

0

Es gibt keine Möglichkeit, dies mit der APS.NET xxx Render-Engine zu tun.

Nichtsdestoweniger, hier ist meine Lösung in Erwartung einer besseren Lösung.

Sie können Ihre index.cshtml wie folgt schreiben:

@{ 
    Layout = "~/Views/Shared/_TestLayout.cshtml"; 
} 
@* fake indent level 0 *@ 
    @* fake indent level 1 *@ 
     @* fake indent level 2 *@ 
      <h2>Index</h2> 
     @* fake indent level 2 (end) *@ 
    @* fake indent level 1 (end) *@ 
@* fake indent level 0 (end) *@ 

@* fake Razor comments *@ werden hier verwendet, um die Einzüge in Ihrem cshtml Code zu markieren.

Es ist nicht sehr schön, aber man würde diese Ansicht-Quelle in Ihrem Seite haben:

<html> 
    <body> 
     <div> 
      <h2>Index</h2> 
     </div> 
    </body> 
</html>