在MVC应用程序的CRUD部分,我有许多看似毫无意义的视图文件,例如:
<%@ Page Title="" Language="C#" MasterPageFile="Some.Master" Inherits="System.Web.Mvc.ViewPage<SomeModel>" %>
<asp:Content ID="ContentID" ContentPlaceHolderID="SomePlaceHolder" runat="server">
<%= Html.DisplayForModel() %>
</asp:Content>这当然是漂亮的unDRY。
是否可以在使用共享视图的同时保持强类型?(例如,通过在控制器中指定泛型类型)?
发布于 2010-06-11 12:59:11
与其为每个CRUD控制器拥有一个显示视图,不如在/ view / Display.aspx /中使用一个单独的CRUD视图。视图引擎搜索/视图/{yourcontroller},然后搜索/Views/Shared/查找它所寻找的任何内容。
如果您的所有视图都是<%= Html.DisplayForModel() %>,那么就不需要强类型。DisplayForModel()知道如何解决这个问题。
FOr有关此技术的更多信息:http://haacked.com/archive/2009/08/04/default-templated-views.aspx
发布于 2010-06-11 10:03:25
如果非常常见,您可以将此代码放在主文件(Html.DisplayForModel())中,这样就不需要在每个视图中覆盖它。而且,只有对于不需要这种常见行为的视图,您才可以重写它。
https://stackoverflow.com/questions/3021540
复制相似问题