用视图呈现UI
视图可以不包含任何应用逻辑或者数据库检索代码,所有的应用逻辑都可以在controller中进行处理。
视图通过使用controller类在调用RenderView方法的时候提供视图相关数据对象呈现UI:
public void Categories()
{
List < Category > categories = northwind.GetCategories();
RenderView( " Categories " , categories);
}
禁止访问Views目录
为了在你的ASP.NET MVC WEB应用程序中添加额外的安全性,你可以直接阻止访问Views目录。添加如下的代码到你Views目录下的web.config中的system.web节下就可以了:
< authorization >
< deny users ="*" />
</ authorization >
ASPX视图页
ViewPage类型的视图页是Page类的一个实例。我们看一下下面的视图页:
using System;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication.Views.Home
{
public partial class Index : ViewPage < CompanyInfo >
{
}
}
它继承自ViewPage<T>,我们看一下继承关系:
using System;
namespace System.Web.Mvc
{
public class ViewPage < TViewData > : ViewPage
{
public ViewPage();
public TViewData ViewData { get ; }
protected internal override void SetViewData( object viewData);
}
}
而ViewPage<T>又继承自ViewPage: