如何获得MVC中,控制器和方法名字.这可以用于给当前选定菜单加个选定样式

获取控制器名称:(在View中写法)
ViewContext.RouteData.Values["controller"].ToString();
在Action中写法
RouteData.Values["controller"].ToString();

获取Action名称:(在View中写法)
ViewContext.RouteData.Values["action"].ToString();
在Action中写法
RouteData.Values["action"].ToString();

其实就是获取RouteData键值对里的数据
ViewContext.RouteData.Values[名称].ToString();
如:ViewContext.RouteData.Values["ID"].ToString(); 获取ID的值

在area中这样得到名称
在代码中:
ControllerContext.RouteData.DataTokens["area"]
在View中:
ViewContext.RouteData.DataTokens["area"]

有什么用处

在页面上要显示当前点击的菜单时,可以将这个ACTION名字传到页面上,页面里对应菜单项也用这个名字标记.然后用脚本通过这标记找
到该菜单项然后给它加个选中样式.当然了,这是每次都刷新的网页,对了菜单区不动的AJAX网页来讲,这个方法就没必要了.


RenderPartial Partial RenderAction Action方法

RAZOR引擎中使用这些方法可以载入页面的一部分,具体有这几个方法,页面呈现效果一样,但是用途有点区别

1. Html.RenderPartial("viewpath","model")
这个用于载入分部视图"viewpath",有数据"model",它的返回值为void,它直接写到输出流

2. Html.Partial("viewpath","model")
它返回MVCHTMLSTRING,不直接写到输出流

3. RenderPage("pageurl", new object[] {3,2,1 })
载入一个视图,后面可带参数.如果要获得传过来的参数,使用PageData["param"]

4.Html.Action Html.RenderAction
这两个会调用一个控制器/方法,区别与1,2一样,前者会返回MVCHTMLSTRING,后者直接写到输出流

MVC使用记录的更多相关文章

  1. .net MVC成长记录(一)

    今天第一次写博客,之前从学校出来,学了ASP.NET, 现在第一份工作接触的是MVC,在此便记录和分享一下学习MVC的过程,希望能和大家多一些交流.言归正传,首先给大家介绍一下MVC的基础知识. MV ...

  2. Spring MVC 配置记录

    目录 1.从pom.xml配置Maven文件开始 2.web.xml 3.springmvc-config.xml 4.controller 使用 idea 编辑器 + Maven + spring ...

  3. Ninject.MVC 知识点记录

    Ninject 是跟Unity 差不多的DI容器.Ninject 推荐零配置,快速使用.小中型项目,最适合. 通过nuget,安装Ninject.MVC.略.参考博客:Ninject依赖注入      ...

  4. mvc学习记录

    1.关于mvc中的session在controller中传递 在用mvc开发新项目的时候,不久就遇到一个头大的问题,session在controller中传递居然出现空值,但明明一开始就赋值了,通过度 ...

  5. Spring MVC随笔记录

    根据https://blog.csdn.net/abc997995674/article/details/80353410整理 @ModelAttribute 可以用在方法.方法参数上,也可以和@re ...

  6. MVC知识记录

    1.完整深入分析 MVC请求机制:http://blog.jobbole.com/85033/ 2.MVC入门:http://www.aizhengli.com/givecase-aspnet-5-m ...

  7. .net MVC成长记录(二)

    今天上班的任务完成了,接下来写一下博客,巩固一下,再学习一些新知识. 闲话不多说,我们言归正传.昨天讲到了如何mvc框架在微软下,已经变成了一个非常灵活非常‘干净’的开发框架了, 同时也讲述了如何创建 ...

  8. Asp.Net MVC中记录错误日志保存到本地txt文件

    为了方便查询系统出错弄个错误日志出来对于维护运维来说是很有必要的. 1.在Asp.Net MVC项目中的App_Start添加一个用于处理异常类的文件ErrorLog让他继承HandleErrorAt ...

  9. MVC知识点记录

    _Layout.cshtmlRenderSectionsection 分部页的使用@Html.Partial Html.RenderPartial与 Html.RenderAction的 return ...

随机推荐

  1. pdf中内嵌字体问题

    在提交论文pdf到IEEE时总要检查字体是否为内嵌的,查看pdf中所有字体及是否内嵌可查看:http://sinme.blog.sohu.com/120043575.html. 具体做法是: 在pdf ...

  2. 爬虫——cookies池的搭建

    https://github.com/Python3WebSpider/cookiesPool

  3. 接口工具之postman

    在我们日常开发中,经常会对功能接口进行相应的测试.那么postman是一款不错的测试工具,因为平常使用的比较多,因此在这里简单记录一下,经常使用到的一些地方 简单的使用就不错介绍了, 基本流程: 新建 ...

  4. Python3练习题求1000以内所有3和5的倍数的总和

    sum = 0 for i in range(1,1000):     if i%3 == 0 or i%5 == 0:         sum += i print(sum)

  5. java Date时间的各种转换方式和Mysql存时间类型字段的分析

    一:各种Date之间的转换方法 public class TimeTest { public static void main(String[] args) { Date date = new Dat ...

  6. Windows10 等 administrator 打开IE 或者edge的方法

    gpedit.msc 组策略处理即可

  7. 如何让pl/sql developer记住密码,实现快速登录

    前两天,有同事使用plsql的时候,切换数据库的时候需要不断的重复输入密码,这样太麻烦了. 下面,我这里说下如何的实现plsql不需要输入密码就能快速登录的方法: 1.一开始登录,首先像往常那样输入密 ...

  8. javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.

    项目依赖 <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifa ...

  9. vue 项目使用 webpack 构建自动获取电脑ip地址

    1.开发 H5 时移动端,经常会使用真机进行调试本地环境.webpack 配置服务器好多脚手架写的都是固定的,而在团队开发中需要每人配置自己的本机 ip 进行开发,每次开启开发环境的都需要修改,并且还 ...

  10. cordova微信支付回调App闪退

    这是cordova版本太高,不兼容这个插件所导致的.解决方案是修改$your_project/plugins/cordova-plugin-wechat/scripts/android-install ...