0

私は MVC 4 アプリを作成しています。いくつかのカスケード ドロップダウンをサポートする JavaScript 関数があります。javascript は js ファイルにあり、ビューの作成と編集の両方に使用しようとしています。作成ビューではうまく機能しますが、編集ビューでは機能しません。IE の開発者ツールを使用してネットワーク トラフィックを調べたところ、create 呼び出しからの URL が正しく、Controller/MyActionMethod であることがわかりました。edit 呼び出しからの URL は、controller/edit/controller/MyActionMethod です。

現在、デフォルトのルート構成を使用していますが、うまく機能しているように見えるので、あまり深く掘り下げていません。

edit ケースで controller/edit/ が URL に追加される理由について何か考えはありますか? それを修正する方法はありますか?

役に立つ場合はコードを投稿しますが、これはおそらく URL とルーティングについて理解できないものだと思いました。

ありがとう

ここにジャバスクリプトがあります

$(function () {
    $.getJSON("ProfessionTypeList", function (data) {
        var items = "<option>---------------------</option>";
        $.each(data, function (i, professionType) {
            items += "<option value='" + professionType.Value + "'>" + professionType.Text + "</option>";
    });
    $("#ProfessionTypeId").html(items);
   })
});
4

2 に答える 2

0

次の行

$.getJSON("ProfessionTypeList",

フォームの URL を生成します

http://domain.com/Controller/ActionName/ProfessionTypeList

つまりProfessionTypeList、URL の末尾に追加されます。

明示的な URL を完全なパスにするようにしてください。ファイルでは、次を使用してこれCSHTMLを行うことができます@Url.Action("ProfessionTypeList")

于 2013-09-04T16:15:00.477 に答える