0

私はMVC3を使用しています。

次のコードで:

@Ajax.ActionLink("CreateUser", "Administration",
            new AjaxOptions { HttpMethod = "GET", 
            InsertionMode = InsertionMode.Replace,
            UpdateTargetId = "DialogContainer", 
            OnComplete = "OpenDialog();" })

リンクをクリックすると、JavaScriptエラーが発生します。

GET> http://myWebsite.com/Administration/Administration?X-Requested-With=XMLHttpRequest 404(見つかりません)jquery-1.8.2.min.js:2

「OnComplete」に指定された関数が起動され、ダイアログがポップアップしますが、コンテンツはコントローラーから返されません。

手伝ってくれますか ?

4

1 に答える 1

2

404エラーは、ページ/ Administration/Administrationが存在しないことを示しています。つまり、AdministrationControllerにAdministrationが存在しないアクションメソッドです。

アクションメソッド「管理」が存在することを確認してください。

使用しているオーバーロードは、ActionLink(string linkText、string actionName、AjaxOptions ajaxOptions)です。

この問題を解決するために、クエリ文字列X-Requested-With=XMLHttpRequestは必要ありません。

デフォルトでは、Microsoft AjaxとjQueryはヘッダーを使用して、リクエストがJavaScriptで発生したことを示します。MVCは、ヘッダー値をクエリ文字列パラメーターとして送信できるようにすることで、すべての環境でカスタムヘッダー(X-Requested-Withはカスタムエラー)をリクエストとともに送信できるわけではないという事実を考慮に入れています。

于 2013-01-15T05:34:03.873 に答える