내가 썼던 MVC 뷰를 보면 VS 2008의 기본 색 구성표와 함께 모두 태그 스파게티처럼 보입니다. 모든 부분이 <%
노란색 태그 %>
입니다. 서버와 클라이언트 측 코드를 구별하기는 정말 어렵습니다.WebForms보기 엔진이보기 흉하게 보이는데, 어떤 방법으로 그것을 아름답게 보이게 할 수 있습니까?
전통적인 ASP에서는 보통 서버 측 코드 블록이 가벼운 MVC 뷰만큼 인터리브되지 않았기 때문에 그렇게 나쁘지 않았습니다. 그들은 그렇게 쉽게 구별 할 수있는 큰 덩어리였습니다. 이제는 클라이언트 측 코드와 서버 측 코드 사이에 거의 1 : 1 인터리브가 있습니다 (예 : 한 줄 클라이언트, 한 줄 서버, 계속). 나는 어떤 견해가 만들어 내는지 이해하려고 할 때 간질 발작이있을 위기에 처해있다.
적어도 서버 측 코드에 대해 별도의 배경색을 사용할 수 있다면 도움이 될 것 같습니다. VS2008은 그것을 허용하지 않습니다.
<%
/%>
태그에서 노란색 배경색을 제거했는데, 지금은 눈에 띄는 부분을 수정해도보기 좋지만,보기의 흐름을 추적하는 것은 여전히 어렵습니다.
나는이 문제를 해결하기 위해 또 다른 뷰 엔진과 확인 해요하지만 웹폼 '사치의 일부 제공하는 모든이 나도 몰라 :
- 구문 서버 측 코드를 강조 을
- 인텔리는 컴파일 는
나는 view engines listed in SO에서 특별히 Spark을 보였다,하지만 난 그것을 HTML 코드로 섞는 방법을 좋아하지 않았다. 나는 그것이 언급 된 문제를 더욱 악화시킬 것이라고 생각한다. 여기
내가 좋아하지 않는 샘플 코드 :<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/site.master"
Inherits="System.Web.Mvc.ViewPage<SomeModel>" %>
<%@ Import Namespace="SomeHelpers" %>
<asp:Content ID="Content1" ContentPlaceHolderID="body" runat="server">
<h1><%= Html.Encode(Model.Title) %></h1><br /><br />
<% if (Model.Found) { %>
<% foreach (var item in Model.List) { %>
<div class="item">
<%= item.ProductID %> - <%= Html.SomeHelper(item.Description, 32000) %>
<div class="itemsub">(<%= Html.SomeOtherHelper(item.Customer) %>,
<%= Tools.AnotherHelper(item.OrderDate, item.ShipDate) %>)</div>
</div>
<% } %>
<% } else { %>
Item Not Found <br />
<% if (Model.Items.Count > 0) { %>
Some Text Here<br />
<ul>
<% foreach(var i in Model.Items) { %>
<li><%= Html.SomeHelper(i) %></li>
<% } %>
</ul>
<% } %>
<% } %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="title" runat="server">
<%= Html.Encode(Model.Title) %> - Badass Web Site
</asp:Content>
을 내가 SO 제대로 서버/클라이언트 측 코드를 강조에서 더 나은 일을 것으로 나타났습니다 코드를 붙여 넣은 후 :) 난 몰라 이 종류의 하이라이트는 VS2008에서 가능하다고 생각합니다 (C# 강조 표시를 완전히 변경하지 않으면 좋을 것입니다).
감사! 귀하의 포인트에 대하여 : 1) RenderPartial을 보지 않았다면, 그것을 체크 아웃 할 것입니다. 그 세분성 수준에서 너무 많은 파일을 유지 관리하는 오버 헤드가 있다고 생각합니다. 2) HTML을 C# 코드로 옮기면 문제가 해결되지만 해결되지는 않습니다. Rob의 기사는 비슷한 접근법을 사용합니다. 3) 찾을 수없는 경우 다른보기를 사용하면 좋은 조언, 감사합니다! 나는 대답이 계속 나오기를 바란다. 내가 여기있는 유일한 사람이 아닌 것 같습니다 :) –
답변을 다시 방문하십시오 @jfar, 귀하의 요점은 훨씬 더 의미가 있습니다. 난 분명히보기에서 너무 많은 오버 헤드를 제거하고 훨씬 더 읽을 수있는 두 번째 권장 사항을 오해. 다시 한번 감사드립니다. –