我有一個MVC3 C#.Net網絡應用程序。具有Excel功能的導入。此功能在Rate控制器的Import方法中執行。它在費率/導入視圖中查看。導入時,一些行是成功的,有些則不行。我正在將錯誤收集到一個字符串[]數組中。如果一個或多個行成功導入,則導入會被視爲成功,因此應用會導航回「建議編輯」視圖。我想將信息錯誤傳遞迴「建議編輯」視圖進行顯示。任何ides如何做到這一點?MVC3從一個控制器傳遞消息到另一個視圖和/或控制器
0
A
回答
3
有幾種方法。
TempData的
這是在您的控制器使用。 TempData在單個重定向中持續存在。
public ActionResult Process()
{
// ... Process your rows, get array of errors back ...
TempData["errors"] = errors;
return RedirectToAction("Edit");
}
public ActionResult Edit()
{
var errors = (IEnumerable<string>)TempData["errors"]; // Get the errors back.
return View(errors); // Pass into the view
}
的ModelState
你可以直接添加這些錯誤的ModelState中,然後重新顯示編輯表單。它不會持續重定向。
public ActionResult Process()
{
// ... Process your rows, get array of errors back ...
for(var i = 0; i < errors.Length; i++)
{
ModelState.AddModelError("row" + i, errors[i]);
}
// Can't redirect here - ModelState doesn't persist.
return View("Edit");
}
然後,在你編輯視圖,只顯示驗證摘要:
@Html.ValidationSummary("The following row errors occured:");
,這會使得這個網站。該類是由MVC設置的默認類。
<div class="validation-summary-errors">
<span>The following row errors occured:</span>
<ul>
<li>...Error 1...</li>
... Other errors ...
</ul>
</div>
相關問題
- 1. 傳遞從根視圖控制器消息到另一個視圖控制器
- 2. 將錯誤消息從一個控制器傳遞到另一個控制器
- 3. MVC4將消息從一個控制器傳遞到另一個控制器
- 4. 將數據從視圖控制器傳遞到另一個視圖控制器
- 5. 從一個視圖控制器傳遞數組到另一個
- 6. 從一個視圖控制器傳遞數據到另一個
- 7. MVC3從控制器將數據傳遞到另一個控制器
- 8. 從控制器傳遞數據到另一個控制器
- 9. 將從Cloudkit提取的數據從一個視圖控制器傳遞到另一個視圖控制器
- 10. 將圖像從一個視圖控制器傳遞到另一個視圖控制器
- 11. 如何通過視圖導軌將信息從一個控制器傳遞到另一個控制器
- 12. 從另一個視圖控制器關閉視圖控制器
- 13. 從另一個視圖控制器通知視圖控制器
- 14. 將消息從一個控制器發送到另一個控制器
- 15. 從didSelectRowAtIndexPath傳遞數據到另一個視圖控制器ios7
- 16. 從1視圖控制器傳遞數據到另一個
- 17. 從viewcontroller tableview傳遞數據到另一個視圖控制器
- 18. 將float從一個視圖控制器傳遞到另一個視圖控制器
- 19. 將數據從一個視圖控制器傳遞到另一個視圖控制器; iOS <= 4 vs iOS 5
- 20. 將數據從一個視圖控制器傳遞到另一個視圖控制器
- 21. 如何將字典從一個視圖控制器傳遞到另一個視圖控制器
- 22. 如何將字符串值從一個視圖控制器傳遞到另一個視圖控制器
- 23. 我不能將價值從一個視圖控制器傳遞到另一個視圖控制器
- 24. 將數據從一個tabbar視圖控制器傳遞到另一個tabbar視圖控制器
- 25. 將nsmutablearray從一個視圖控制器傳遞到另一個視圖控制器
- 26. 如何將變量從一個視圖控制器傳遞到另一個視圖控制器?
- 27. 將字符串值從一個視圖控制器傳遞到另一個視圖控制器
- 28. 將NSManagedObject從一個視圖控制器傳遞到另一個視圖控制器
- 29. 如何將UI ImageView從一個視圖控制器傳遞到另一個視圖控制器? swift 3
- 30. 從一個表視圖控制器傳遞json id到swift 3中的另一個表視圖控制器3
通過「應用程序導航回的議案編輯」你的意思是表單提交後,你正在做一個重定向?如果是這樣,您將能夠存儲信息的唯一位置是在數據庫中(將ID傳遞給其他控制器以查找字符串),在會話中或cookie中。 ViewBag/ViewData生命週期以請求的生命週期結束。重定向會從瀏覽器創建一個新的「請求」。 – 2012-02-09 16:48:17