[英]Handle Error without Redirect & Page Refresh in MVC
如何在不重定向或刷新MVC中的頁面的情況下處理錯誤?
實際上,我的View.cshtml有幾個標簽,我想發布一個特定的標簽並處理錯誤(如果有),而無需重定向和刷新頁面。 我實際上想警告該錯誤。
以下是我的JavaScript代碼段:
fn_GetData: function () {
$('#frm4').attr('action', 'my url goes here').attr('method', 'post');
$('#div4').html('<input type="hidden" name="p" value="' + 'some value goes here' + '"/> ');
$('#frm4').submit();
}
這是我的控制器動作代碼:
public ActionResult GetData(string p)
{
var error = false;
// Some logic goes here...
if (error)
{
TempData["Result"] = "My error message goes here";
// I don't know how to alert the above error message without having to redirect or refresh the page.
}
}
您的Controller方法可以返回各種類型的內容。
例如,您可以使用
return Json()
並給該方法一個對象。 這會將您的對象變成Json,然后您可以在JS代碼中進行處理。 更簡單的是,如果您只需要錯誤消息,則可以只返回一個字符串並在JS中處理該字符串。
如果使用以下兩種方法之一作為返回值,則該頁面不應重新加載。
您無法通過“提交”表單來實現。 發布表單將觸發從瀏覽器重新加載頁面。 您所需要的是對Web服務的AJAX調用,該調用將返回驗證結果。
如果您在客戶端使用jQuery,請查看jQuery ajax方法。 您可以通過這種方式調用控制器操作,並使用javascript進行頁面中的任何渲染。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.