0

我在控制器中編寫了很少的部分方法,它直接訪問URL中的內容。我想限制這些特定的方法。我使用[ChildActionOnly]屬性來限制它。它工作正常,但我使用Ajax調用來訪問這些方法。 Ajax調用在ChildActionOnly中不起作用。有沒有任何屬性,將阻止從網址,並允許Ajax調用? 謝謝。防止從URL訪問部分視圖,但不從Ajax調用訪問

回答

0

您可以使用Request.IsAjaxRequest()來確定該呼叫是否是ajax呼叫,並執行任何您想要執行的操作。

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

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

如果你喜歡,你可以簡單地將用戶重定向到另一個頁面(非AJAX操作方法),而不是返回NOTFOUND結果。

if(!Request.IsAjaxRequest()) 
{ 
    return RedirectToAction("Index"); 
}