首先ACTION跳转的模式有如下

一、redirecttoaction("index");//一个参数时在本controller下,不传入参数。

二、redirecttoaction(actionname,controllername) //可以直接跳到别的controller.

三、redirecttoroute(new {controller="home",action="index"});//可跳到其他controller

四、redirecttoroute(new {controller="home",action="index", id=param});//可跳到其他controller,带参数。

五、response.redirect("index?id=1");//适用于本controller下的方法名称,可带参数。
六、return redirect("index");//适用于本controller下的方法名称。

七、return view("index"); //直接显示对应的页面 不经过执行controller的方法。 
八、return view("~/views/home/index.aspx");//这种方法是写全路径,直接显示页面,不经过controller方法
九、return view();//直接显示页面,不经过controller方法

在View中跳转直接写全路径记录/home/index?msg=11

举例:RedirectToAction("Index","Home",new {msg="操作成功",name="admin"});

 

然后如果是在ACTION中接收参数直接Index(string msg,string name)即可获取到传过来的参数,如果不想这么接收也可以使用如下方式

如果你是通过原始的index?msg=11&name=simmer则可以使用Request.QueryString["msg"] ,则在View中则是@Request.QueryString["msg"]

如果你采用了路由机制的传参index/11/simmer则可以使用Html.ViewContext.RouteData.Values["msg"]或Request.RequestContext.RouteData.Values["msg"]

 

posted on 2015-02-08 11:11  西默  阅读(254)  评论(0)    收藏  举报