簡體   English   中英

在MVC中處理錯誤而無需重定向和頁面刷新

[英]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.

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