在mvc .net中将一个控制器的参数值传递给另一个控制器

时间:2017-11-22 05:48:38

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-3

想要将第一个(layername)控制器的参数值传递给第二个控制器。没有重定向到第二个控制器..谢谢。任何帮助..

第一个控制器: -

Public ActionResult firstcontroller(DataTable dt, String layertype, String layername)

{
query= "some sql query" + layertype+ "where=" +layername+ ;

}

第二名管制员: -

Public ActionResult secondcontroller(DataTable dt, String searchval, String selectval)

{
query= "some sql query" + searchval+ "where=" +layername+ ;
}

2 个答案:

答案 0 :(得分:1)

我不确定你需要什么,但如果你想要没有重定向,那么以下列方式使用会话应该适合你:

Public ActionResult firstcontroller(DataTable dt, String layertype, String layername)
{
 Session["layername"]=layername;
 query= "some sql query" + layertype+ "where=" +layername+ ;
}


Public ActionResult secondcontroller(DataTable dt, String searchval, String selectval)
{
 var layername = Session["layername"].toString();
 query= "some sql query" + searchval+ "where=" +layername+ ;
}

答案 1 :(得分:0)

不建议使用session。请改用TempData

Public ActionResult firstcontroller(DataTable dt, String layertype, String 
layername)
{
TempData["layername"]=layername;
query= "some sql query" + layertype+ "where=" +layername+ ;
}


Public ActionResult secondcontroller(DataTable dt, String searchval, String 
selectval)
{
var layername = TempData["layername"].toString();
query= "some sql query" + searchval+ "where=" +layername+ ;
}