0

Ich schrieb einige Teilmethoden in meinem Controller und es greift direkt auf Eingabe in URL zu. Ich möchte diese speziellen Methoden einschränken. Ich habe [ChildActionOnly] Attribut verwendet, um es zu beschränken. Es funktioniert gut, aber ich verwende Ajax Call, um auf diese Methoden zuzugreifen. Der Ajax-Aufruf funktioniert in ChildActionOnly nicht. Gibt es ein Attribut, das die URL blockiert und Ajax-Aufrufe erlaubt? Danke.Zugriff auf Teilansicht von URL, aber nicht von Ajax verhindern Call

Antwort

0

Sie können die Request.IsAjaxRequest() verwenden, um festzustellen, ob der Anruf ein Ajax-Anruf ist oder nicht und tun, was Sie tun möchten.

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

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

Wenn Sie möchten, können Sie einfach Benutzer auf eine andere Seite (nicht Ajax-Aktion-Methode) umleiten, anstatt NotFound Ergebnis zurück.

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