Asp.net MVC – Controller
2012-09-06 15:54 JustRun 阅读(601) 评论(0) 编辑 收藏 举报1. 在Controller中获取当前Route信息
比如获取当前的controller信息,
RouteData.Values["controller"]
key是Route匹配的那些参数
2. Action的返回值中的ActionResult种类
Controller中返回的Action Result种类
类型 |
解释 |
返回方法 |
ContentResult | 返回一个字符串 | Content |
EmptyResult | No Response | |
FileContentResult FilePathResult FileStreamResult |
返回一个文件 | File |
HttpUnauthorizedResult | 返回403 | |
HttpNotFoundResult | 返回404 | |
JavaScriptResult | 返回一段js | JavaScript |
JosnResult | JSON格式数据 | Json |
RedirectResult | 跳转到期它URL | Redirect |
RedirectToRouteResult | 转到其它Action,或者其它Controller的Action | RedirectToRoute RedirectToAction |
ViewResult PartialViewResult |
返回由View engine处理 | View PartialView |
还可以直接把Action方法的返回值改成string, 返回一个字符串。
3. 如何传值到View?
使用ViewBag、ViewData
ViewBag是dynamic类型,你可以随意的扩展和保存你需要的数据
使用Model
return View(model) 就可以将model作为强类型View的显示主体。
4. 使用Filter来控制Action的访问
asp.net MVC有很多的Filter来影响Action的访问, 这些Filter也是Attribute,可以直接写在Action或者Controller的头上。
系统Filter
名称 |
描述 |
OutputCache | 缓存 |
ValidateInput | 关闭验证 |
Authorize | 验证访问的权限 |
ValidateAntiForgeryToken | 防止跨站攻击 |
HandleError | 处理程序异常 |
Filter使用地方
* 可以直接写在Action或者Controller的头上。
* 在全局注册
在Application_Start()中,注册Filter, 这样每个request都会受到这些Fiterl的影响。
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
编写自定义的Filter
编写类继承ActionFilterAttribute, 覆盖比如OnActionExecuting这些方法。
Filter可以用来做日志记录,权限验证等都非常方便。

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名justrun(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述