例如,我可以有像,將類的實例傳遞給另一個控制器中的操作?
public class HandleMessageController : Controller
{
public ActionResult ShowMessage(HandleMessage message)
{
return View(message);
}
}
和另一個控制器的另一個動作的動作,
RedirectToAction("ShowMessage", "HandleMessage", new HandleMessage(.....));
我測試了它和行動ShowMessage總是空message
。
型號HandleMessage
,
public class HandleMessage
{
public HandleMessage(string message, string controllerName, string actionName, bool isError)
{
ActionName = actionName;
ControllerName = controllerName;
Message = message;
IsError = isError;
}
.....
更新: RedirectToAction
後的網址是
http://localhost:61666/HandleMessage/ShowMessage?ActionName=XXXX&ControllerName=XXXX&Message=The%20message&IsError=False
我應該使用字符串連接來生成Url嗎?我以爲Asp.Net MVC會自動將實例轉換爲查詢字符串。我如何從路由中獲得動作和控制器?謝謝。 – ca9163d9
嗯,它適用於你的對象實例我忘記了路由數據可以填充一個匿名對象,所以爲什麼不能使用具體類型?現在您必須提供一個無參數的構造函數,它現在應該可以工作。 –