Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在mvc.net中将一个控制器的参数值传递给另一个控制器_Asp.net Mvc_Asp.net Mvc 4_Asp.net Mvc 3 - Fatal编程技术网

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

Asp.net mvc 在mvc.net中将一个控制器的参数值传递给另一个控制器,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-3,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 secondcontro

希望将第一个(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+ ;
}
第二控制器:-

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+ ;
}

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

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+ ;
}

不建议使用
会话
。请改用
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+ ;
}

没有重定向是什么意思?(在这两种方法中,您应该删除无意义的
DataTable dt
参数)将参数从控制器传递到另一个称为“重定向”的控制器。您将
DataTable
用作参数的目的是什么?您应该传递viewmodel类,而不是视图中的
DataTable
集合。旁注:不要使用字符串连接来构建DB查询,而是使用参数化版本。