2016-07-21 20 views
-1

ich in einem Sharepoint-Provider folgenden Code bin mit MVC-app gehostet gibt eine Controller-Methode

var urlAddProduct = "/Home/AddProduct?SPHostUrl=" + spHostUrl; 
$.post(urlAddProduct, 
     { 
      id: id    
     }).done(function() { 

     }).fail(function() { 
      alert("Failed to add the new product!"); 
}); 
//method 
    [SharePointContextFilter] 
public ActionResult AddProduct(string id) { 
    var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); 
    using(var clientContext = spContext.CreateUserClientContextForSPHost()) { 
    } 
    return View(); 
} 

-Code funktioniert gut getroffen, aber immer gescheitert state/failed alert.Ich erhalte keine Code-Ausnahme.

+0

Ersetzen Sie die 'fail' Funktion mit' .fail (function (XHR, Status, Fehler) {/ * Fehler überprüfen * /}); 'und prüfen Sie den Fehler, der an die Funktion übergeben wird. – martennis

+0

Fehler sagt "AddProduct seinen Master wurde nicht gefunden, keine View Engine unterstützt. Die folgenden Orte wurden gesucht ...". Ich habe eine Schaltfläche in Index.cshtml und auf Schaltfläche klicken, ich bin der Code – user32124

Antwort

0

nach Ihren Kommentar, um zu sehen, wenn Sie einen Blick in Ihre Lösung unter Pfad haben /Views/Home/AddProduct.cshtml

+0

Ich möchte nicht eine Ansicht hinzufügen, es ist eine Schaltfläche nur in index.cshtml und klicken Sie auf die Schaltfläche Ich möchte eine Aktion Methode im Hause aufrufen controller.Isnot/Home/AddProduct versucht die Aktion AddProduct aufzurufen und ruft sie auf, aber mit der Rückkehr als Sichtfehler – user32124

+0

Sie möchten also die Aktion aufrufen, um einige Funktionen auszuführen, aber Sie benötigen keine Antwort auf das Ergebnis? Statt 'return View();' benutze 'return new EmptyResult();' – martennis

+0

Danke, hab's, das funktioniert. Aber was, wenn ich return view() mit einigen Daten verwenden will ViewData ["abc"] = "text" und returning view(), wie kann ich diesen Fehler vermeiden, während die selbe index.cshtml-Ansicht verwendet wird. Wenn die Schaltfläche in derselben Ansicht index.cshtml ist, soll sie die Sicht zurückgeben. Bitte korrigieren Sie mich. – user32124