Asp.Net MVC 3【Controllers And Actions】
2012-09-06 17:12
411 查看
这里分享一下MVC框架里的Controller("控制器")和Action("动作/方法"),我将告诉你如何实现控制器和不同的方式,你可以使用控制器接收和生成输出。 MVC框架不限制您通过视图生成HTML,我们将讨论其他可用的选项。我们还将展示如何操作方法使易于单元测试,并演示如何测试每一种结果,只需要一个动作("Action")方法即可。
介绍控制器("Controller")
关于Controller("控制器")的代码,估计大家也看到不少了,今天我们深入的看看这个控制器的内幕吧!
首项我们准备一个项目("MvcControllers"),接下来我们创建一个 IController接口,并且让所有的Controller("控制器")都实现该接口。项目整体结构如下图1.
View Code
这个动作方法使浏览器会提示用户保存文件,这里做个简单的介绍!
发送一个字节数组
如果您已经在内存中的二进制数据,你可以将它传送到浏览器中使用不同的过载文件的方法,下面用代码做个简单的描述(发送二进制数组):
从检索到的图像数据发送数据库。再次,你必须指定的contentType,并可以选择指定fileDownloadName。浏览器会把它们在完全相同的方式,当你发送一个磁盘文件。
返回错误和HTTP代码
可以使用内置的ActionResult类,我们将期待在最后的发送特定的错误到客户端的消息和HTTP结果代码。大多数应用程序并不需要这些功能,因为MVC框架会自动生成这些结果自动。然而,他们可以是有用的,如果你需要采取更直接地控制发送给客户端的响应。
发送一个特定的HTTP结果代码
您可以发送一个特定的HTTP状态代码的浏览器使用HttpStatusCodeResult类。有没有控制器的辅助方法,所以你必须实例化类。
发送404结果
这里直接用简单的代码说明怎么生成一个404的结果,如下:
有没有在控制器类中的辅助方法来创建实例的HttpUnauthorizedResult,所以你必须这样做的直接。返回这个类的一个实例的效果通常是将用户重定向到在验证页面。
OK!好久都没来更新博客,这边文章写的也比较仓促,肯定有描述错误的地方,还请路过的前辈和新学习的同学们多多指教和,对于之前提出问题的童鞋,我会抽时间解答大家!总之大家共同进步!
介绍控制器("Controller")
关于Controller("控制器")的代码,估计大家也看到不少了,今天我们深入的看看这个控制器的内幕吧!
首项我们准备一个项目("MvcControllers"),接下来我们创建一个 IController接口,并且让所有的Controller("控制器")都实现该接口。项目整体结构如下图1.
View Code
public FileResult AnnualReport() { string filename = @"D:\huitai.pdf"; string contentType = "application/pdf"; string downloadName = "AnnualReport2012.pdf"; return this.File(filename, contentType, downloadName); }
这个动作方法使浏览器会提示用户保存文件,这里做个简单的介绍!
发送一个字节数组
如果您已经在内存中的二进制数据,你可以将它传送到浏览器中使用不同的过载文件的方法,下面用代码做个简单的描述(发送二进制数组):
public FileContentResult DownloadReport() { byte[] data = ... //生成或获取文件内容以某种方式 return this.File(data,"appliction/pdf","AnnualReport.pdf"); }
从检索到的图像数据发送数据库。再次,你必须指定的contentType,并可以选择指定fileDownloadName。浏览器会把它们在完全相同的方式,当你发送一个磁盘文件。
返回错误和HTTP代码
可以使用内置的ActionResult类,我们将期待在最后的发送特定的错误到客户端的消息和HTTP结果代码。大多数应用程序并不需要这些功能,因为MVC框架会自动生成这些结果自动。然而,他们可以是有用的,如果你需要采取更直接地控制发送给客户端的响应。
发送一个特定的HTTP结果代码
您可以发送一个特定的HTTP状态代码的浏览器使用HttpStatusCodeResult类。有没有控制器的辅助方法,所以你必须实例化类。
发送404结果
这里直接用简单的代码说明怎么生成一个404的结果,如下:
public HttpStatusCodeResult StatusCode() { return this.HttpNotFound(); }
有没有在控制器类中的辅助方法来创建实例的HttpUnauthorizedResult,所以你必须这样做的直接。返回这个类的一个实例的效果通常是将用户重定向到在验证页面。
OK!好久都没来更新博客,这边文章写的也比较仓促,肯定有描述错误的地方,还请路过的前辈和新学习的同学们多多指教和,对于之前提出问题的童鞋,我会抽时间解答大家!总之大家共同进步!
相关文章推荐
- ASP.NET MVC Controllers and Actions
- ASP.NET MVC Controllers and Actions
- ASP.NET MVC Controllers and Actions
- ASP.NET MVC 5 Controllers and Actions
- ASP.NET MVC- Controllers and Routing- Controller Overview
- 《Pro ASP.NET MVC 3 Framework》学习笔记之二十三【Controllers和Actions】
- ASP.NET MVC- Controllers and Routing- Routing
- ASP.NET Core 中文文档 第四章 MVC(4.1)Controllers, Actions 和 Action Results
- 《Pro ASP.NET MVC 3 Framework》学习笔记之二十四【Controllers和Actions】
- 《Pro ASP.NET MVC 3 Framework》学习笔记之二十二【Controllers和Actions】
- ASP.NET MVC- JSON ,Jquery, State management and Asynch controllers
- ASP.NET MVC 3: Razor’s @: and <text> syntax
- asp.net mvc 特性 使用异步Controllers
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
- using Silverlight 4 in an ASP.NET MVC 3 application and accessing data with JSON
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
- (转)ASP.NET MVC Preview 5 and Form Posting Scenarios
- ASP.NET MVC Example with Northwind and Entity Framework Published
- How to pass javascript complex object to ASP.NET Web Api and MVC
- ASP.NET MVC and jqGrid 学习笔记 6-增删改操作