我有一个ActionResult呼叫另一个ActionResult。
我在case语句中调用了一个ActionResult,但它不起作用。以下是我所拥有的:
public ActionResult GetReport(string pNum)
{
....
switch (methodId)
{
case 1:
case 5:
{
var actionResult = GetP1Report("33996",false) as ActionResult;
break;
}
}
return actionResult;
}我得到以下错误:“actionResult”在当前上下文中不存在
如果我这样做,它可以工作,但不完全符合我的需要:
public ActionResult GetReport(string pNum)
{
....
var actionResult = GetP1Report("33996",false) as ActionResult;
switch (methodId)
{
case 1:
case 5:
{
// var actionResult = GetP1Report("33996",false) as ActionResult;
break;
}
}
return actionResult;
}如何使actionResult在我的case语句中工作,以便当我这样做时它是可见的。
return actionResult发布于 2012-12-20 22:12:18
只需首先声明它(我猜它有一个默认值),在开关语句之外:
ActionResult actionResult = null;
switch (methodId)
{
case 1:
case 5: // PVT, PVT-WMT
{
actionResult = GetP1Report("33996",false) as ActionResult;
break;
}
}
return actionResult ?? new View(); 注意:我将?? new View()添加为默认值,以防任何情况都没有将任何东西分配给actionResult -根据需要修改。
发布于 2012-12-20 22:17:15
问题是范围是可变的。德巴斯曼几乎说对了..。这样做:
public ActionResult GetReport(string pNum)
{
....
ActionResult actionResult = new View(); // This would typically be assigned a
// default ActionResult
switch (methodId)
{
case 1:
case 5:
{
actionResult = GetP1Report("33996",false) as ActionResult;
break;
}
}
return actionResult;
}https://stackoverflow.com/questions/13981371
复制相似问题