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.
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