MVC3 里面 如何劫持 Controllers的Action 100分啦 大家帮帮忙
--------------------编程问答-------------------- --------------------编程问答-------------------- 楼上的,进来就帮帮忙了 --------------------编程问答-------------------- 自己改路由规则--------------------编程问答-------------------- 你想劫哪去 --------------------编程问答--------------------
routes.MapRoute("customabc", "home/abc", new { controller = "custom", action = "newAction" });
不是你这个意思啊!!! --------------------编程问答-------------------- 那你是什么意思 --------------------编程问答-------------------- 唉,依我天马行空的猜想
你是问错误重定向吗 --------------------编程问答-------------------- 你的意思 是不是出错的时候"劫持"?
--------------------编程问答-------------------- 我的意思就是 例如我有 个 abc.cshtml 我想用程序 映射到 其他的 控制器上 不经过路由配置 --------------------编程问答-------------------- ....
我说的不就是你那个意思,请求的路径为 home/abc ,实际上执行的action为 custome控制器下的newAction
在Global.asax.cs里面的 RegisterRoutes方法里面改
public static void RegisterRoutes01(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("customabc", "home/abc", new { controller = "custom", action = "newAction" }); //自定义的路由
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
}
改路由是最简单的=.=
或者你写个 继承于ActionFilterAttribute 的类,专门做筛选和重定向的 ,复杂一点,自己百度
--------------------编程问答-------------------- 看看网上IIS5,6,7中是如何部署mvc的。各有各的不同啊。 --------------------编程问答-------------------- 你还是直接说实际需求吧,可能分布页能满足你 --------------------编程问答-------------------- 我的需求就是 多个 视图 共用 一个 action --------------------编程问答-------------------- 呵呵, 了解, 本来你是要写多个action的. 但是你发现这么多个action都一样的内容. 所以你就想写一个action.
你可以 还是用多个action.
之后选中里面的代码. 吸气--点右键--重构--提取方法--吐纳300下--收工. --------------------编程问答-------------------- 你自己先写个Action 再点到Action上面生成View (不用改名字 ) 路由不用重新写的 都配置好好了的 除非你有新的需求。多玩一玩就了解了 --------------------编程问答-------------------- 呃 这个 我的做法是直接return 那个Action;
补充:.NET技术 , ASP.NET