日期:2014-05-18  浏览次数:20391 次

mvc3 页面跳转
一个页面的controller里方法return到其他页面(不是view里写的跳转页面)  
return View("xxx",model)好像就是不经过这个页面的controller的方法
return xxx()是进方法不进页面
很纠结

------解决方案--------------------
探讨
引用:

返回RedirectToAction方法

哦 这个试了,什么都进不去,直接页面报找不到的错。。不知道什么情况。

------解决方案--------------------
逻辑有点混乱
action本身是mvc的关键字,路由里肯定设置了,你参数里又设置一个action。
那么你在switch (action)里得到的action是控制器的方法呢?还是参数?

如果他执行力ActionResult xxx(xxxModel model, string action)
那么他的switch (action)的action得到的只能是xxx,而不可能是0或者1
------解决方案--------------------
Request.Params["action"] 
这样取
------解决方案--------------------
return RedirectToAction("Create", "ADType1", new{adid=ads.ID});就是这样跳转的 如果是别的C下面的页面要指定C的

------解决方案--------------------
Redirect会进Controller

带路径的View不会进
------解决方案--------------------
404
route未命中

检查你的MapRoute吧

用RouteDebug调试下
------解决方案--------------------
你到底是要进视图?还是要执行ActionResult xxx1(xxxModel model)这些方法?

swich(action)
{
case "0": xxx1(model);
case "1": xxx2"(model);

}
这样是不能直接进控制器,你要自己转呀

public ActionResult xxx(xxxModel model, string action){
switch (action)
{
case "0": xxx1(model);
case "1": xxx2"(model);
}

return view();
}