2016-03-29 11 views
0

Angularjs kullanarak Contoller eylem yöntemini çağırmaya çalışıyorum. Benim görünüm kodum.

@using DotNetNuke.Framework.JavaScriptLibraries 
@using DotNetNuke.Web.Client.ClientResourceManagement 
@{  
    ViewBag.Title = "Index"; 
    ClientResourceManager.RegisterScript(Dnn.DnnPage,     "~/desktopmodules/mvc/DNNMVCModule/Scripts/angular.js"); 
    ClientResourceManager.RegisterScript(Dnn.DnnPage, "~/desktopmodules/mvc/DNNMVCModule/Scripts/DnnMvcModule.js"); 
} 

<h2 >DnnMvcModule Index</h2> 
    <div id="Testdiv" ng-app="dataStore" > 
     <div ng-controller="StoreController as store"> 
      <h3>{{data.name}}</h3> 
      <h3>{{data.surname}}</h3> 
     </div>  
    </div> 

Herer benim açısal js kodumdur.

(function() { 
    var app = angular.module('dataStore', []); 

    app.controller('StoreController', function ($scope, $http) { 

    $http.get('/DnnMvcModule/GetData'). 
     success(function (response, status) {     
      $scope.data = response; 
      alert(data.name); 
      }). 
      error(function (response, status, headers, config) { 
       $scope.data = response; 
       alert(data.cod); 
      }); 
     });     
})(); 

Benim Contoller'ın eylem yöntemi. i aşağıdaki hata formu DNN alıyorum yanıt olarak kod üzerinde kullanarak kontrolörün GetData yöntemi aramaya çalıştım

public class DnnMvcModuleController : DnnController 
{ 
    // GET: DnnMvcModule 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpGet] 
    public ActionResult GetData() 
    { 
     var data = new Responsedata { name = "Chirag", surname = "Daraji" }; 
     return Json(data,JsonRequestBehavior.AllowGet); 
    } 
} 

.

Error: DNNMVCModule is currently unavailable. 
\r\n DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. --->  System.NullReferenceException: Object reference not set to an instance of an object. 
\r\n at DotNetNuke.Web.Mvc.Routing.StandardModuleRoutingProvider.GetRouteData(HttpContextBase httpContext, ModuleControlInfo moduleControl) 
\r\n at DotNetNuke.Web.Mvc.MvcHostControl.GetModuleRequestContext(HttpContextBase httpContext)\r\n at DotNetNuke.Web.Mvc.MvcHostControl.OnInit(EventArgs e) 
\r\n --- End of inner exception stack trace ---\r\n\r\n\t 

Aynısı ben normal MVC uygulamasıyla çalışmayı denedim. Birisi bana bunun neyin yanlış gittiğini yardımcı olabilir.

cevap

1

Burada sağladığınız bilgilere dayanarak, doğru rota için URL'nin farklı bir bölümünü göstermeniz gerektiğine inanıyorum. DNN mvc yönlendirme biraz daha karmaşıktır. Rout yapılandırmanızı paylaşabilir misiniz?

+0

Merhaba Mitchel, Cevabınız için teşekkürler. Bu projeyi oluşturmak için Chris Hammond'un MVC DNN 8 şablonunu kullandım ve bu şablonda herhangi bir rutin yapılandırma dosyası yok. Mesela MVC uygulama projesi şablonunda olduğu gibi. ve herhangi bir Global.asax dosyası yok. :( – user1331438

İlgili konular