문제

나는 ASP.NET MVC Views의 더 나은 구문이라고 생각하는 것을 제안했습니다. 이 질문. 그 질문에 대한 답변 이후, 나는 내 대답이 거의 피드백을 생성 할 것이라고 생각합니다. 따라서 여기에 자체 질문으로 게시하고 있습니다.

도움이 되었습니까?

해결책

당신은 올바른 길을 가고 있지만 너무 멀리 갔다고 생각합니다. 밸런스는 코드를 HTML과 혼합하여 흐르는 HTML과 과도하게 복잡하지 않고 태그 수프를 만들지 않습니다. 내가 찾은 최고의보기 엔진은 불꽃.

그것을 살펴보면 더 미묘하고 읽기 쉬운 방식으로 제안하는 내용을 다루게됩니다.

다른 팁

코드를 나타 내기 위해 마크 업을 사용하고 있습니다. 내 의견은 : 코드가 필요한 경우, 코드 만 사용하는 것입니다. 이는 항상 더 유연합니다. 마크 업이 필요한 경우 마크 업을 사용하십시오.이 기사 내 요점을 정확하게 설명합니다. 때로는 코드와 마크 업 사이의 선이 흐릿합니다.

사람들이 XML을 프로그래밍 언어로 취급하지 않기를 바랍니다.

아마 당신은 사용해야 할 것입니다 이것 대신 Haml이라고 불리는 "MVC Syntax".

%h2= Model.CategoryName
%ul
  - foreach (var product in Model.Products)
    %li
      = product.ProductName 
      .editlink
        = Html.ActionLink("Edit", new { Action="Edit", ID=product.ProductID })
= Html.ActionLink("Add New Product", new { Action="New" })

대체

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" 
    CodeBehind="List.aspx" Inherits="MvcApplication5.Views.Products.List" Title="Products" %>
<asp:Content ContentPlaceHolderID="MainContentPlaceHolder" runat="server">
 <h2><%= ViewData.Model.CategoryName %></h2>
  <ul>
    <% foreach (var product in ViewData.Model.Products) { %>
      <li>
        <%= product.ProductName %> 
        <div class="editlink">
          (<%= Html.ActionLink("Edit", new { Action="Edit", ID=product.ProductID })%>)
        </div>
      </li>
    <% } %>
  </ul>
  <%= Html.ActionLink("Add New Product", new { Action="New" }) %>
</asp:Content>

또한 JSP를 살펴보십시오. JSP 마크 업에서 코드의 힘을 얻기 위해 "표현 언어"를 도입해야했습니다. 결과는 정말 어색한 IMHO입니다. 이 표현 언어에서 간단한 기능에 액세스하려면 명시 적 매핑 (물론 XML)도 필요합니다.

보다 이것.

Maucsch와 Matt의 포인트 외에도 서버가 메모리에로드하고 "MVC :"를 찾는 전체 페이지를 구문 분석해야한다는 것을 의미하지 않습니까? 그리고 그것이 WebForms를 사용하지 않는 이유 중 하나가 아닌가?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top