在没有 return 语句的情况下从另一个动作调用一个动作
Call an action from another action without return statement
这是我的控制器的一部分 class:
if (ds.Tables.Count > 1)
{
if (ds.Tables[0].Rows.Count > 0)
{
dt = ds.Tables[0];
dr = dt.Rows[0];
TempData["AgentId"] = dr[0].ToString();
TempData["AgentCode"] = dr[1].ToString();
TempData["CenterName"] = dr[2].ToString();
TempData["LevelName"] = dr[3].ToString();
Session["AgentId"] = dr[0].ToString();
Session["LogInSession"] = SessionId;
return RedirectToAction("DashBoard", this.View(new AgentDetails { AgentId = Session["AgentId"].ToString() }));
//return this.View("DashBoard", new AgentDetails { AgentId = Session["AgentId"].ToString()});
}
我想传递这个参数并单独调用这个操作方法。这可能吗?
一个动作就是一个函数。您可以像调用任何其他函数一样调用它。
var result = Dashboard();
if(result.xxxx) // do whatever
return View(new AgentDetails { AgentId = Session["AgentId"].ToString() });
如果那是您想要做的,那您为什么不将 Dashboard
代码重构为可以重用的方法?
这是我的控制器的一部分 class:
if (ds.Tables.Count > 1)
{
if (ds.Tables[0].Rows.Count > 0)
{
dt = ds.Tables[0];
dr = dt.Rows[0];
TempData["AgentId"] = dr[0].ToString();
TempData["AgentCode"] = dr[1].ToString();
TempData["CenterName"] = dr[2].ToString();
TempData["LevelName"] = dr[3].ToString();
Session["AgentId"] = dr[0].ToString();
Session["LogInSession"] = SessionId;
return RedirectToAction("DashBoard", this.View(new AgentDetails { AgentId = Session["AgentId"].ToString() }));
//return this.View("DashBoard", new AgentDetails { AgentId = Session["AgentId"].ToString()});
}
我想传递这个参数并单独调用这个操作方法。这可能吗?
一个动作就是一个函数。您可以像调用任何其他函数一样调用它。
var result = Dashboard();
if(result.xxxx) // do whatever
return View(new AgentDetails { AgentId = Session["AgentId"].ToString() });
如果那是您想要做的,那您为什么不将 Dashboard
代码重构为可以重用的方法?