如图:
我在应用A中提供一个controller给前端调用,在这个controller中,我需要分别调用应用B和C的controller,汇总两个controller的数据统一返回。
现有问题如下:
1、采用如下方式如何传递参数:
RedirectToRoute("Channel_Group_Api", new { controller = "ChannelGroupApi", action = "Index"});
2、如何解析由该方法返回的RedirectToRouteResult中的数据。
刚接触MVC,请不吝赐教。多谢。
问题1:后面两个是参数。
return RedirectToRoute(new { controller = "UsersAdditionalPreviousNames", action = "Index", userId = user.Id, applicantId = applicant.Id });
问题2:下面的方法的控制器是:UsersAdditionalPreviousNames。Index方法的两个参数就是你传递过来的值,注意参数名称一定要一样。
public ActionResult Index(string userId,string applicantId) { //userId,applicantId 就是你传递过来的参数。
return RedirectToAction("Foo", new { id = id }); }
[HttpGet]
public string Login()
{
return "";
}
我的接口返回的是string的。
@小码哥: 跟返回值没有关系。你这是传递参数啊。
@【Arnold】: 我是需要解析出RedirectToRoute这个的值。
@小码哥: 上面说了,参数名称一样,就直接传递给指定的方法了。你还要怎么解析,请详说??
@【Arnold】:
[HttpGet]
public string actionA()
{
var resultB = RedirectToRoute(new { controller = "controllerB", action = "Index", userId = user.Id, applicantId = applicant.Id }); //返回string json字符串
var resultC = RedirectToRoute(new { controller = "controllerC", action = "Index", userId = user.Id, applicantId = applicant.Id }); //返回string json字符串
//return resultB和resultC组成一个string返回
}
回答的不错,解决了我的问题。
http://pdf-lib.org/Home/Details/466