ASP.NET MVC:CRUD区域中的冗余(强类型)视图

时间:2010-06-11 09:05:31

标签: asp.net-mvc

在我的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>

这当然非常简单。

是否可以使用共享视图,同时保留强类型?(例如,通过在控制器中指定泛型类型?)

2 个答案:

答案 0 :(得分:1)

如果它很常见,您可以将此代码放在主文件(Html.DisplayForModel())中,这样您就不需要在每个视图中覆盖它。只有不需要这种常见行为的视图才能覆盖它。

答案 1 :(得分:1)

您可以在/ Views / Shared /中使用单个Display.aspx,而不是每个CRUD控制器都有一个显示视图。视图引擎搜索/ Views / {yourcontroller},然后搜索/ Views / Shared /查找它所寻找的内容。

如果你的所有观点都是&lt;%= Html.DisplayForModel()%&gt;那么就没有必要强烈打字。 DisplayForModel()知道如何解决这个问题。

有关此技术的更多信息: http://haacked.com/archive/2009/08/04/default-templated-views.aspx