Будете ли вы использовать этот синтаксис представления ASP.NET MVC? - PullRequest
1 голос
/ 24 декабря 2008

Я предложил, как мне кажется, лучший синтаксис для представлений ASP.NET MVC в в этом вопросе . Поскольку на этот вопрос дан ответ, я думаю, что мой ответ будет вызывать мало обратной связи, поэтому я публикую его здесь как свой собственный вопрос.

Ответы [ 6 ]

2 голосов
/ 24 декабря 2008

Вы используете разметку для представления кода. Мое мнение таково: где нужен код, просто используйте код, который всегда более гибкий. Там, где нужна разметка, используйте разметку. Эта статья точно объясняет мою точку зрения. Иногда грань между кодом и разметкой размыта.

1 голос
/ 24 декабря 2008

Возможно, вам следует использовать этот"синтаксис MVC", который называется HAML.

%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>
1 голос
/ 24 декабря 2008

Мне бы очень хотелось, чтобы люди перестали воспринимать XML как язык программирования.

0 голосов
/ 24 декабря 2008

Также взгляните на JSP: им пришлось ввести «язык выражений», чтобы получить некоторую мощь кода в разметке jsp. Результат действительно неловкий ИМХО. Ему даже нужно явное отображение (конечно, в XML) для доступа к простой функции из этого языка выражений.

См. это .

0 голосов
/ 24 декабря 2008

Вы на правильном пути, но я думаю, вы зашли слишком далеко. Баланс смешивает код с html, куда он течет, и не слишком усложняет его, а также не создает суп-тег. Лучший двигатель просмотра, который я нашел, который делает это - Spark .

Взгляните на это, и вы увидите, что оно предлагает то, что вы предлагаете, более тонким и читабельным способом.

0 голосов
/ 24 декабря 2008

В дополнение к точкам maucsch и matt, не означает ли это, что серверу придется загружаться в память и анализировать всю страницу в поисках mvc:? И разве это не одна из причин не использовать веб-формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...