mvc3 页面跳转
一个页面的controller里方法return到其他页面(不是view里写的跳转页面)
return View("xxx",model)好像就是不经过这个页面的controller的方法
return xxx()是进方法不进页面
很纠结
------解决方案--------------------
------解决方案--------------------逻辑有点混乱
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();
}