ASP.NET MVC学习二之 Controller
2014-11-11 11:12
155 查看
一:简单理解Controller
新建controller必须以命名+controller结尾,controller的职责是负责与Model进行交换并将数据传递给view视图显示给用户简单的控制器:
public class HomeController : Controller { // // GET: /Test/ public ActionResult Index() { return View(); } }
这里,对其进行简单的修改
public string Index() { return "Hello World"; }
浏览器能正确在页面返回”Hello World”字符串;
接下来我们来更改Controller来将其返回不同的ActionResult对象
类别 | Controller辅助方法 | 用途帮助 |
ContentResult | Content | 回传一个用户自定义的文件属性 |
EmptyResult | 不响应任何信息到客户端 | |
FileResult 1.FileContentResult 2.FilePathResult 3.FileStreamResult | File | 以二进制串流的方式回传一个文档信息 1.直接输出byte[]属性 2.指定文档路径输出文档属性 3.指定Stream对像回传其属性 |
HttpStatusCodeResult 1.HttpNotFoundResult 2.HttpUnauthorizedResult | HttpNotFound | 回传自定义的HTTP状态代码与消息 1.回传HTTP404状态代码 2.回传HTTP401状态代码 |
JavaScriptResult | JavaScript | 回传的是javascript脚本 |
JsonResult | Json | 将数据串行化成JSON格式回传 |
RedirectResult | Redirect RedirectPermanent | 重新导向指定的URL |
RedirectToRouteResult | RedirectToAction RedirectToPermanent RedirectToRoute RedirectToRoutePermanent | 与RedirectResult相似,但是他是重导向到一个Action或Route |
ViewResultBase 1.ViewResult 2.PartialViewResult | view PartialView | 回传一个View页面 1.回传检视页面(View Page) 2.回传部分检视页面 |
EmptyResult
就是返回一个空的页面内容,所以也就可以不用view视图。public ActionResult Test() { return new EmptyResult(); }
EmptyResult返回的是一个空的页面,那它究竟有什么功能和作用呢?这个EmptyResult可以说起到一个中转的作用,起到适配器的作用,如果我们有些请求只是要求统计一下数量并不需要显示页面,则这个Empty就起到了作用。
例如我们要想要在网站实现在线人数的统计功能,可以在网页中动态发出一个HTTP请求给Controller的其中一个Action,当Controller收到要求后会
public ActionResult OnlineUserHit() { //Todo Something return new EmptyResult(); } 或如下: public ActionResult OnlineUserHit() { return; }
ContentResult
暂且先理解ContetResult返回的的是纯文本的内容,不是html内容,其相当于Response.write(),但是如果输出的html标签内容也会被浏览器解析public ActionResult Test() { return Content("<font color='red'>hello ContentResult</font>"); }
JavaScriptResult
这里JavaScriptResult是向前台输出一段javascript代码在HomeController中定义两个Action
public ActionResult Index() { return View(); } public ActionResult Test4Js() { string js = "alert('Hello MVC')"; return JavaScript(js); }
在Index视图中
@{ ViewBag.Title = "Index"; } <script src="~/Scripts/jquery-1.7.1.min.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> @Ajax.ActionLink("调用JS", "Test4Js", new AjaxOptions())
注意引用了两个js文件
JsonResult
JasonResult是向前台输出一段Json数据public ActionResult Index() { return View(); } public ActionResult Test4Json() { Models.User user = new Models.User() { Name = "test", Age = 11 }; return Json(user, JsonRequestBehavior.AllowGet); }
前台的view视图代码
@{ ViewBag.Title = "Index"; } <script src="~/Scripts/jquery-1.7.1.min.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> <script type="text/javascript"> $(function () { $("#check").click(function () { $.get("/Home/Test4Json", null, function (data) { var html = "姓名:" + data.Name + ",年龄:" + data.Age; $("#result").html(html + ","); }, "json"); }) }) </script> <h1>Json实例</h1> 查询:<input type="button" value="查询" id="check" /> <div id="result" style="margin: 10px"> </div>
RedirectToRouteResult
重导向到一个Action或Routepublic ActionResult Index() { return RedirectToAction("test4RedirectToRouteResult"); } public ActionResult test4RedirectToRouteResult() { return View(); }
在浏览器输入http://localhost:8398/Home/Index
大概今天的controller的result就记录这些吧!
相关文章推荐
- ASP.NET MVC学习笔记-Controller与View传值
- Asp.net MVC 学习笔记 (3) --Controller 与View 之间的数据传递
- ASP.NET MVC 个人学习笔记之 Controller传值
- ASP.NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面
- ASP.NET MVC学习(二)之控制器Controller
- asp.net mvc的Routing、Controller、Filter学习笔记
- ASP.NET MVC学习笔记-Controller与View传值
- ASP.NET MVC 学习1、新增Controller,了解MVC运行机制
- Asp.net MVC的Controller激活理解【学习笔记】
- ASP.NET MVC:看 MVC 源码,学习:如何将 Area 中的 Controller 放到独立的程序集?
- 从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例
- ASP.NET MVC 学习8、Controller中的Detail和Delete方法
- 从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例
- ASP.NET MVC学习之高级Controller和Action
- ASP.NET MVC学习笔记-Controller与View传值
- asp.net mvc的Routing,Controller,Filter学习笔记
- asp.net mvc的Routing、Controller、Filter学习笔记
- 从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例 【转】
- ASP.NET MVC学习笔记-Controller的ActionResult
- ASP.NET MVC之Controller学习2