ASP.NET MVC3自定义Razor视图基类示例

当ASP.NET MVC3使用ASPX视图引擎时,可以在Page指令中设置视图继承于自定义基类:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="MvcApplication1.ViewPage" %>

那么使用Razor视图引擎时,能不能做同样的设置?要怎么设置?

ASP.NET MVC3自定义Razor视图基类示例

先定义Razor视图基类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1
{
    /// <summary>
    /// Razor视图基类
    /// </summary>
    /// <typeparam name="TModel"></typeparam>
    public abstract class BaseWebViewPage<TModel> : WebViewPage<TModel>
    {
        public string Test
        {
            get { return "mzwu.com"; }
        }
    }
}

在视图(.cshtml)中使用自定义基类示例:

@inherits MvcApplication1.BaseWebViewPage<IEnumerable<int>>
@{
    ViewBag.Title = "主页";
}

<h2>@Test</h2>
<p>
    @foreach (var item in Model)
    {
        @item<br />
    }
</p>

参考资料

[1].MVC3中Razor模板引擎如何修改View的基类:http://www.cnblogs.com/fxwdl/archive/2012/06/28/2567547.html

评论: 0 | 引用: 0 | 查看次数: 6286
发表评论
登录后再发表评论!