MVC4笔记ActionResult,PartialViewResult,EmptyResult,ContentRe http partial content

HttpGet HttpPost HttpDeleteHttpPut HeepHead HttpOptionsHttpPatch属性都是动作方法选定器的一份子,比如若在action上套用HttpGet属性,就代表只有当客户端浏览器发送HTTPGet 请求时,ActionInvoker才会选定这个action.eg:[HttpPost]public ActionResult Index(){
return view();}
如果action上没有套用这些动作限定属性的话,不管客户端浏览器发送任意HTTP动词都会自动选定到对应的Action,一般用在需要接收窗体信息的时候,你可以创建两个同名的Action,一个套用HTTPGET属性,以显示窗体HTML另一个套用HttpPost 以接收窗体输出的值eg:[HttpGet]public ActionResult Create(){return View();}
[HttpPost]public ActionResult Create(FormCollection c){Updatesth();return RedirectToAction("Index");}

ActionResult解说ActionResult是Action运行后的回传型别,但是当Action回传ActionResult的时候,其实并不包含这个ActionResult的运行结果,而是包含运行这个ActionResult时所需的数据,当MvcHandler从控制器取得这个ActionResult之后才会去运行处ActionResult的结果。下面是ASP.NET MVC内奸的ActionResult衍生类别1,ViewResult:是mvcz中最常用的ActionResult,用于回传一个标准的检视页面,通过控制器辅助方法能更方便的定义要如何输出view,且可以指定view名称,指定view要套用哪个主版页面LayoutPage,指定要传入View的数据模型。
在mvc中为了找出一个同名的view页面,尝试搜索了两个不同的路径与四个不同的扩展名,事实上八个不同的路径(想知道这8个路径的话可以随便return一个不存在的检视页面,然后报错就可以看到了)分别由两种不同的检视引擎ViewEngine所支持,前4个由WebFormViewEngine负责查找关联视图页面(*.aspx和*.ascx),后4个由RazorViewEngine负责查找关联视图页面(*.cshtml和*.vbhtml),
so mvc在查找检视页面时第一顺序是WebFormViewEngine,不过在mvc3里面,全新的razor语法已经广受mvc开发人员喜欢,如果你想要调整两个ViewEngine的搜索顺序,可以在Global.asax文档的Application_start中添加这个代码,就可变更mvc搜索检视页面的顺序,以缩短mvc在搜索view页面的时间。ViewEngines.Engines.Clear();ViewEngines.Engines.Add(newWebFormViewEngine());ViewEngines.Engines.Add(newRazorViewEngine());

2,PartialViewResult(PVR):与ViewResult非常类似,但无法为选中的view指派主版页面,如果想在页面中设计更好的关注点分离,可以将网页的其中一部分独立成另一个动作,就可以利用这个来取得页面中的部分属性。除此之外,当网页前端开发以ajax为主的网页应用时,也经常会利用PVR来取得网页的部分属性。
3,EmptyResult:有些action不需要回传任何数据,eg:我们想对网站的在线人数进行统计,可以在网页中动态发出一个http要求给控制器的其中一个Action,当控制器收到后在action里运行加总或记录的动作,之后不回传任何数据,就可以用这个来return。注: return newEmptyResult();//也可以直接就return ;
4,ContentResult可以让你响应任何的文字属性的结果,可以任意指定文字属性,属性类型Content-Type与文字编码Encodingeg:响应一段XML,设置响应的Content-Type为text/xml,并指定编码。public ActionResultGetXML(){returnContent("123</标签root>",“text/xml”,System.Text.Encoding.UTF-8);}如果只想单纯的响应一段UTF-8编码的HTML字符串,使用第一个参数传入即可public ActionResult GetHTML(){string strHTML="";//省略html的属性return Content(strHTML);}注:在mvc中有另一种表达,就是直接将回传类型设置为string即可,这是非常简便的撰写方式,mvc会自动判断从Action回传的型别,只要不是ActionResult的衍生型别,就会自动转换成ContentResult来输出。eg:public stringContent(){string strHTML="";//省略html的属性return strHTML;}









  

爱华网本文地址 » http://www.aihuau.com/a/25101017/331542.html

更多阅读

高中化学教材培训视频笔记 人教版高中化学教材

视频链接:http://video.fhedu.cn/index.php/video/index/2201视频的主讲者是吴星,扬州大学教授,硕士生导师,国家基础教育课程改革化学组核心成员,苏教版高中化学教材副主编。我从该视频中有以下笔记:1为什么化学的地位的下降我们的家长

微分流形与黎曼几何学习笔记

已有 3984 次阅读 2010-6-8 08:57 |个人分类:Higher Order Partial Differential Equati|系统分类:教学心得|关键词:微分流形 黎曼几何由于种种原因要恶补一下微分流形和黎曼几何,吸取一下“前辈”们的经验,也希望大家能提供一些更好

心理学史小笔记 实验心理学史

心理学史小笔记,有喜欢的童鞋可以看看~~2011年11月06日 11:11:36前记:以下文章选自网络高觉敷先生西方心理学史笔记,有喜欢心理学史的童鞋或者有意了解心理学发展的童鞋可以看看,小君认为高老师的心理学史颇有上个时代中国心理学家的特

声明:《MVC4笔记ActionResult,PartialViewResult,EmptyResult,ContentRe http partial content》为网友不靠谱青年分享!如侵犯到您的合法权益请联系我们删除