ASP.NET MVC 入门4、Controller与Action
本系列文章基于ASP.NET MVC Preview5.
Controller是MVC中比较重要的一部分。几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据。在ASP.NET
MVC
Preview5中,将原来的Controller类一分为二,分为了Controller类和ControllerBase类。Controller类
继承自ControllerBase类,而ControllerBase实现是了IController接口。
ControllerBase实现了IController接口的Execute方法,在Route匹配到Controller之后,就会调用
Execute方法来进入Controller的处理。这里还定义了一个抽象的方法ExecuteCore方法,该方法会在Execute方法的最后被调
用。ControllerBase还定义了三个核心的属性。我们在后面会详细讨论TempData和ViewData。
Controller类除了继承自ControllerBase类以外,还实现了好几个Filter接口,Filter我们在后面再详细讨论。
public
abstract
class
Controller :
ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable,
IExceptionFilter, IResultFilter{ }
Controller类还定义很多有用的方法,我们新建的Controller都必须继承自这个Controller类。例如我们新建一个
AdminController:
public
class
AdminController : Controller
{
}
Action方法
下面谈一下在Controller中比较重要的Action方法。在ASP.NET
MVC中URL都是映射到Controller中的某个Action中,然后由匹配的Action来处理我们的业务逻辑并返回view的。
Controller中的public的方法都被当作是Action方法。Action方法通常返回一个ActionResult的结果。例如我们
为前面的AdminController定义一个Setting的Action方法,用于设置Blog的一些基本参数:
public
class
AdminController : Controller
{
public
ActionResult Setting()
{
throw
new
NotImplementedException();
}
}
默认情况下,Action方法的方法名就是这个Action的Action名(Action名指的是Route中匹配Action方法的URL的那
部分。例如url:Home/Index,其中Index就是Action名)。这里为什么要提到这个Action名呢?应为Action名是可以定义
的,使用ActionNameAttribute来定义。请看下面的示例:
public
ActionResult Setting()
{
throw
new
NotImplemen
相关文档:
1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
& ......
配置ASP.NET平台时遇到的“访问IIS元数据库失败”
(2007-05-18 09:20:08)
标签:
asp
分类:技术随笔
实习也结束了,最近终于有时间正式地搞毕业设计了……
课题是关于搭建一个基于ASP.NET网站框架的,当然配置开发平台是第一步,装上IIS后,在本地访问.aspx页面时总出现如下报错信息:
访 ......
先看看ASP.NET页面刷新的实现方法:
第一:
C# code
private void Button1_Click( object sender, System.EventArgs e )
{
Response.Redirect( Request.Url.ToString( ) );
}
第二:
C# code
private void Button2_Click( object sender, System.EventArgs e )
{
Response.Write( " < script lang ......
SP.NET面试题
(转 原文地址http://blog.sina.com.cn/s/blog_524c848901009e7b.html~type=v5_one&label=rela_nextarticle 作者
李洋的博客
http://blog.sina.com.cn/liiyang)
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
prote ......
///C#中的媒体播放类
using System;
namespace ConfigTools
{
/// <summary>
/// PlayClass 的摘要说明。
///原作CSDN,经本人稍加修改
/// </summary>
public class PlayClass
{
public PlayClass()
{
......