MVC控制器使用总结

一、新手入门

1.特性

[AuthorizeFilter]  用于权限过滤

[HttpGet]  

[HttpPost]

2.参数

GET获取

       [HttpGet]
        public ActionResult Get(int id=0)
        {
            return Json("test",JsonRequestBehavior.AllowGet);
        }

返回字符串 "test"

POST提交

[HttpPost]
public ActionResult void Post(Model model)
{
  var result = new Result();
   if (ModelState.IsValid && model != null)
   {
  }
   return Json(result);
}

上传图片

[HttpPost]
public ActionResult void Post(Model modelName, FormCollection form)
{
    var requestFiles = Request.Files;//HttpFileCollectionBase
    if (requestFiles.Count > 0)
    {
        for (int i = 0; i < requestFiles.Count; i++)
        {
            //此块代码仅作示例
            //文件名称 requestFiles[i].FileName
            var postedfile =  requestFiles[i];//HttpPostedFileBase
            var savePath="d://d.jpg";
            postedfile.SaveAs(savePath);
        }
    }
   return Json(result, "text/html", Encoding.UTF8);
}

 

3.返回类型(返回方法)

return null;//返回Null或者Void数据类型的EmptyResult
return View();//返回与本控制器同名的视图
return View(model);//返回与本控制器同名的视图,并传model到视图
return View("Success");//返回指定的视图return View("~/Views/Shared/Success.cahtml");//返回指定的视图的路径
return View("Success",model);//返回指定的视图,并传model到视图
return Json(result, JsonRequestBehavior.AllowGet);//一般由给post或ajax提交的请求,返回json
return Content("Test Content", "text/html"); // 可指定文本类型
return JavaScript("alter('hello');"); //在客户端执行的脚本,但并不会直接响应弹出窗口,需用页面再一次调用

string fileName = "~/Content/test.zip"; // 文件名
string downFileName = "文件显示名称.zip"; // 要在下载框显示的文件名
//返回FileResult要写入响应中的二进制输出,一般可用作简单下载
return File(fileName, "application/octet-stream", downFileName); 

//重定向方法:Redirect / RedirectToAction / RedirectToRoute
return Redirect("http://www.baidu.com"); //直接转到指定的url地址
return RedirectToAction("index","home",new{id="1"});//跳转到指定的控制器
return RedirectToRoute("Default", new { controller = "Home", action = "Index"}); //指定路由进行跳转

 

推荐文章:

http://www.cnblogs.com/artech/archive/2012/08/13/action-result-01.html

 

时间: 2024-09-20 08:56:05

MVC控制器使用总结的相关文章

学习php过程中发现mvc控制器要写几个页面

问题描述 学习php过程中发现mvc控制器要写几个页面 零基础看视频自学中 看到老师讲mvc模式控制器 说写到一个界面最好 可是我发现如果把insert和update写到一个界面里的话 每次update的时候就要insert一下如果定义不同的post值的话又会报错 难道要用if判断一下是否有这个值吗 那样的话不是又比较臃肿了吗 请问各位是怎么解决的 还是要多写几个页面每个页面控制一下的好? 解决方案 写在一个页面是一个偷懒的办法, 在正式的项目中不建议这么做,虽然有判断可以区分,但是容易出错.

ASP.NET在MVC控制器中获取Form表单值的方法_实用技巧

本文实例讲述了ASP.NET在MVC控制器中获取Form表单值的方法.分享给大家供大家参考,具体如下: 在MVC控制器中,如果我们想直接获取表单中某个标签元素的值,可以使用MVC中提供的FormCollection类,具体用法如下所示: 视图部分: @using (Html.BeginForm()) { <text>您输入的值是:</text><span>@ViewBag.FormValue</span> <input type="text&

在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义的输出

在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计的时候考虑周到外,还需要考虑数据展现的处理.如果是常规的处理,那么需要对部分外键字段进行特别的转义处理,如果需要增加多一些字段,那么这种处理可能就相对比较麻烦一些.本文介绍如何在MVC控制器里面使用dynamic和ExpandoObject,实现数据转义后一体化的输出,包括增加任意多的字段信息. 1.数据信息的展示 一般情况下,我们在界面里面展示的信息是相对比较

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的细节,本文主要介绍整个Web开发框架中的MVC控制器的设计.在设计之初,我就希望尽可能的减少代码,提高编程模型的统一性.因此希望能够以基类继承的方式,和我Winform开发框架一样,尽可能通过基类,而不是子类的重复代码来实现各种通用的操作. 1.登录控制的控制器基类设计 我们知道,一般我们创建一个MVC的控制

spring MVC 控制器获取WebApplicationContext

使用spring MVC 时,如何在控制器中获取WebApplicationContext 呢? WebApplicationContext  是干什么的? WebApplicationContext 有以下方法:getBean() ,传入bean的id就可以从上下文中获取bean的实例. 使用场景: 一般情况下,我们可以是@Resouce注解,来依赖注入,并不需要手动获取bean的实例再setter. 但是抽象出一个公共的父类Controller,里面使用了泛型T,此时dao的名称我们不知道,

ASP.NET MVC 控制器与视图_实用技巧

一.控制器相关 在Controller类中方法访问级别为public的方法,就是行为(Action).如果不希望Controller类中的方法成为Action(可以在地址栏中被访问),有两种实现方式:将方法的访问级别设置为private在方法上添加特性标记[NonAction] 诸如新增\修改等功能模块,我们往往会创建2个名称相同的Action:一个action用于加载新增\修改页面;另一个action用于处理新增\修改页面提交的表单数据.那么如何区分在何时调用哪个action呢? 我们将加载新

ASP.NET MVC教程:理解控制器、控制器行为和行为结果

理解控制器 MVC控制器负责处理对ASP.NET MVC网站的请求,每个浏览器请求都被映射到一个特殊的控制器上,例如,假设你在你的浏览器地址栏中输入下面的URL: http://localhost/Product/Index/3 这时会调用ProductController控制器,productController负责产生浏览器请求对应的响应,例如,控制器可能返回一个特定的视图给浏览器,或控制器将用户重定向到另一个控制器. 在你的ASP.NET MVC应用程序的控制器文件夹下创建一个新的控制器,

Asp.net MVC中获取控制器的名称的方法_实用技巧

1.视图中 string controller = ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"].ToString(); string controller = ViewContext.RouteData.Values["controller"].ToString(); 2.控制器的action中 string controller = RouteData.Ro

在Spring Web MVC环境下使用Dojo

开始之前 关于本教程 本教程主要探讨如何在 Spring Web MVC 环境中使用 Dojo 的 widget,示例应用使用了 dojox.data.DataGrid,一个 Dojo Toolkit 1.2 新增的 widget . Dojo widget 与服务器交换数据的格式有很多种,本教程主要探讨在 Ajax 编程中比较常用的 JSON 格式的数据.本教程示例演示了 dojox.data.DataGrid 组件与 Spring Web MVC 控制器之间交换数据的细节,其中,服务器端使用