2

我有一个 MVC 应用程序,我在其中安装了 umbraco 6.1.6 nuget 包。现在我正在尝试使用 Jquery AJAX 函数从视图中调用控制器。控制器放置在 MVC 控制器文件夹中,并与 UmbracoApiController 一起继承。我曾尝试关注Umbraco API 文档 ,但每次发送我的请求时,它都会重定向到 404 页面。我已经尝试过使用从这里下载的 umbraco 7.1.4 ,它对我来说效果很好。任何人都可以为此提出解决方案。

我使用的请求网址如下:- /Umbraco/Api/[ControllerName]/[ActionName],我也尝试过 /Umbraco/[YourAreaName]/[YourControllerName] ,但这对我也不起作用。

4

1 回答 1

2

检查不同的事情:

  1. 重新启动站点(触摸 web.config)
  2. 你建立代码了吗?如果你把它放在 app_code 中,它会自动拾取,否则你需要 DLL 在你的 bin 目录中。
  3. /App_Data/Logs 中的日志文件告诉你什么?
    您可以通过调用插入自己的日志 LogHelper.Info<myclass>("some message")
  4. 你真的真的确定你没有忽略文档中的某些内容吗?
    • 你确定你的控制器继承自UmbracoApiController
    • 您是否尝试添加[MemberAuthorize(AllowAll = true)]到 api 控制器或方法?
  5. 仔细检查网址。你可能打错名字了。控制器是没有“控制器”的全称。尝试下面的代码以找到确切的 url。

下面的代码来自我在仪表板中为最终用户使用的用户控件。我想将其转换为 Razor 宏很容易。如果这没有返回任何东西,那么您在上面的列表中做错了。

var requestHandler = HttpContext.Current.Request.RequestContext;
var urlHelper = new UrlHelper(requestHandler);
var actionlink = Umbraco.Web.UrlHelperExtensions.GetUmbracoApiService<MyApiController>(urlHelper, "MyMethodName");
于 2014-07-16T22:27:47.700 回答