在我的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>
这当然非常简单。
是否可以使用共享视图,同时保留强类型?(例如,通过在控制器中指定泛型类型?)
答案 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