我似乎无法弄清楚如何访问我的一个控制器上的方法,设置控制器可以正常工作......
服务路由映射器:
public void RegisterRoutes(IMapRoute mapRouteManager)
{
mapRouteManager.MapHttpRoute(
moduleFolderName: "ImportantDatesModule",
routeName: "default",
url: "{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional },
namespaces: new[] { "company.ImportantDatesModule.Services" });
}
控制器:
[SupportedModules("ImportantDatesModule")]
[DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)]
public class ItemController : DnnApiController
...
[HttpGet]
[ActionName("getItems")]
public HttpResponseMessage GetItems()
{
return Request.CreateResponse(HttpStatusCode.OK, "success");
}
正在调用的 JS 文件:
dnnspamodule.itemsViewModel = function (moduleId, resx) {
var service = {
path: "ImportantDatesModule",
framework: $.ServicesFramework(moduleId),
controller: "Item"
}
service.baseUrl = service.framework.getServiceRoot(service.path);
...
var getItems = function () {
var restUrl = service.baseUrl + service.controller + "/getItems";
console.log(restUrl);
isLoading(true);
var jqXHR = $.ajax({
url: restUrl,
beforeSend: service.framework.setModuleHeaders,
dataType: "json"
}).done(function (data) {
if (data) {
load(data);
isLoading(false);
}
else {
// No data to load
itemList.removeAll();
}
}).always(function (data) {
});
};