2017-11-24 11 views
0

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. 
    } 
} 

答えて

0

あなたのコントローラーmethoddsは、コンテンツの様々なタイプを返すことができます。

たとえば、あなたは

return Json() 

を使用することができますし、メソッドにオブジェクトを与えます。これにより、オブジェクトがJsonに変換され、JSコードで処理できます。 本当にエラーメッセージだけが必要な場合は、JS内で文字列を返してJSを処理することもできます。

これらのメソッドのいずれかを戻り値として使用する場合は、ページをリロードしないでください。

0

これは、フォームの「送信」では達成できません。フォームをポストすると、ブラウザからのページの再読み込みがトリガされます。 あなたの探しているのは、検証結果を返すWebサービスへのAJAX呼び出しです。

クライアント側でjQueryを使用している場合は、jQuery ajaxメソッドを参照してください。そのようにしてコントローラーのアクションを呼び出すことができ、JavaScriptのページ内のどのようなレンダリングも行います。

関連する問題