如何获得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使用记录
原文地址:https://www.cnblogs.com/mirrortom/p/9264466.html