Frage

Ich schlug vor, was ich denke, ist eine bessere Syntax für ASP.NET MVC Ansichten in diese Frage . Da diese Frage beantwortet ist, glaube ich, meine Antwort wenig Feedback zu generieren, so dass ich es als seine eigene Frage hier bin Entsendung.

War es hilfreich?

Lösung

Sie sind auf dem richtigen Weg, aber ich denke, Sie zu weit gegangen. Die Waage wird das Mischen des Codes mit dem HTML wo es fließt und nicht über sie komplizieren und auch nicht Tag Suppe zu schaffen. Die beste Aussicht Engine, die ich gefunden habe, das tut dies Funken .

Werfen Sie einen Blick auf sie und Sie werden feststellen, es richtet sich, was man in einer subtileren und lesbarer Weise vorschlagen.

Andere Tipps

Sie verwenden Markup-Code darzustellen. Meine Meinung ist: wo Code benötigt wird, nur Code verwenden, die immer flexibler ist. Wo Markup benötigt wird, verwenden Sie Markup. diesem Artikel genau mein Punkt erklärt. Manchmal ist die Grenze zwischen Code und Markup ist verschwommen, aber.

Ich wünsche mir wirklich, dass die Menschen aufhören würden XML als Programmiersprache zu behandeln.

Vielleicht sollten Sie this "MVC Syntax" statt, genannt 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" })

ersetzt

<%@ 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>

Werfen Sie auch einen Blick auf JSP: sie eine „Expression Language“ einzuführen, um hatte einen Teil der Leistung von Code in der jsp Markup zu erhalten. Das Ergebnis ist wirklich peinlich IMHO. Es muss auch eine explizite Abbildung (in XML, natürlich) eine einfache Funktion aus dieser Expression Language zugreifen zu können.

Siehe diese .

Neben maucsch und Matts Punkte, würde das nicht auch bedeuten, dass der Server in den Speicher laden würde und die gesamte Seite zu analysieren sucht „mvc:“ Und ist das nicht einer der Gründe, nicht Webformulare verwenden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top