当前位置:编程学习 > C#/ASP.NET >>

MVC3 里面 如何劫持 Controllers的Action 100分啦 大家帮帮忙

--------------------编程问答-------------------- --------------------编程问答-------------------- 楼上的,进来就帮帮忙了 --------------------编程问答-------------------- 自己改路由规则 



 routes.MapRoute("customabc", "home/abc", new { controller = "custom", action = "newAction" });
--------------------编程问答-------------------- 你想劫哪去 --------------------编程问答--------------------
引用 3 楼 ailin84 的回复:
自己改路由规则 

C# code


 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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,