2

umbraco 6.1.6 nuget パッケージをインストールした MVC アプリケーションがあります。今、Jquery AJAX 関数を使用してビューからコントローラーを呼び出そうとしています。コントローラーは MVC コントローラー フォルダーに配置され、UmbracoApiController で継承されます。Umbraco API ドキュメントに従おうとしましたが 、リクエストが送信されるたびに 404 ページにリダイレクトされます。ここからダウンロードした umbraco 7.1.4 を使用して同じことを試しましたが、問題なく動作します。誰でもこれに対する解決策を提案できますか。

私が使用したリクエストURLは次のとおりです。

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 を再確認してください。名前を間違えた可能性があります。コントローラーは「controller」を除いた完全な名前です。以下のコードを試して、正確な 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 に答える