正在處理由另一位開發人員構建的MVC站點,該MVC站點現在已經離開。我對MVC並不熱衷,所以如果這是一個可怕的問題,請大家道歉。ASP.NET MVC - 如何將參數傳遞給另一個控制器上的操作
在這個網站的控制器中有一個ErrorController。它有兩個相關的視圖保存在\ Views \ Error中。該控制器並沒有做太多:
public class ErrorController : Controller
{
public ActionResult NotFound()
{
Response.StatusCode = 404;
return View("NotFound");
}
public ActionResult Error()
{
return View("Error");
}
}
我想擴大這種控制器,所以我可以在一個錯誤信息傳遞和告知用戶,但我努力理解我怎麼能傳遞一個參數當我從另一個控制器呼叫時。因此,例如:
public class ManagerController : Controller
{
public ActionResult SubmitDetails()
{
if (ModelState.IsValid)
{
// do stuff and return a View
}
//if we get this far, we've got an error or an invalid state
return View("../Error/Error");
}
}
呈現錯誤視圖。但是,如果將此添加到ErrorController:
public ActionResult Error(string errorMessage)
{
ViewBag.ErrorMessage = errorMessage;
return View("Error");
}
我不知道如何從不同控制器中的操作調用該操作。
return View("../Error/Error", "test error message");
導致錯誤:對主題的變體視圖「../Error/Error」或它的主人沒有被發現或沒有視圖引擎支持搜索到的位置。
如何將消息或更好的消息傳遞給控制器?或者我以錯誤的方式去解決這個問題 - 完整的錯誤信息表明我應該使用共享視圖來代替?
'返回RedirectToAction( 「錯誤」, 「錯誤」,新的errorMessage {= 「....」});' –