簡體   English   中英

具有強類型的局部視圖的HandleError

[英]HandleError with strongly-typed Partial View

今天早上,我因HandleError遇到了一個小障礙。 將用戶正確定向到/Views/Shared/Error.aspx。 此視圖使用母版頁,它也顯示得很好。 它還在其Page_Load方法中記錄ViewData.Model.Exception的詳細信息。 我認為可以合理地使用后台代碼。

我的問題是:該頁面包含一個強類型的Partial View,該視圖包含一些用戶的輸入數據。 即使在發生異常之后,我也希望保留對這些數據的訪問權-因此,不會因為我們的異常而使用戶受到雙重懲罰(出現錯誤消息並丟失其表單值)。

有沒有一種方法可以使用HandleError或其他可重用屬性來完成此任務?

最簡單的解決方案是后退按鈕,它不需要代碼:-)

如果您需要基於代碼的解決方案,我認為您必須在用戶登陸Error.aspx之前保留表單數據。 那時發生了重定向,所有請求數據都將丟失。 然后,當用戶導航到錯誤視圖時,可以從持久值還原表單。

Error.aspx是常規錯誤頁面,也是您的不得已的方法。 該頁面甚至不應嘗試執行除常規錯誤處理之外的任何任務。

我解決此問題的方法是使用Ajax.BeginForm(){}並以不刷新視圖和輸入內容的方式呈現用戶控件。 如果您的錯誤消息受到嚴格的輸入限制,那么您也可以使用jquery.validate.js文件,可以在此處找到http://randomactsofcoding.blogspot.com/2008/09/starting-with-jquery-validation-plug-in.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM