0

私のコントローラには部分的なメソッドはほとんど書かれておらず、URLに直接入力してアクセスしています。私はそれらの特定のメソッドを制限したい。私はそれを制限するために[ChildActionOnly] Attributeを使用した。それは正常に動作しますが、私はこれらのメソッドにアクセスするためにAjax Callを使用しています。 ChildActionOnlyではAjaxコールが機能していません。 URLからブロックしてAjax呼び出しを許可する属性はありますか?おかげさまで URLから部分ビューへのアクセスを防ぎますが、Ajaxコールからのアクセスを禁止します

答えて

0

Request.IsAjaxRequest()を使用して、コールがajaxコールかどうかを判断し、何をしたいのかを判断できます。

public ActionResult TestRadioButtons() 
{ 
    if(!Request.IsAjaxRequest()) 
     return new HttpNotFoundResult("Not found"); 

    //continue processing 
    // to do :Return something  
} 

あなたが好きなら、あなたは単に代わりNOTFOUND結果を返すの別のページ(非Ajaxのアクションメソッド)にユーザーをリダイレクトすることがあります。

if(!Request.IsAjaxRequest()) 
{ 
    return RedirectToAction("Index"); 
} 
関連する問題