0

IIS6 サーバーで MVC 2 アプリケーションをホストしています。環境内で参照できるように、すべてのルーティング調整を既に行っています。ただし、問題は、追加ボタンがクリックされるたびに部分ビューが読み込まれる、動的な部分ビュー作成の側面があることです。Javascript とコントローラーを使用して、部分的な vie を呼び出し、毎回テーブルに追加します。

Javascript コード

<script type="text/javascript">

$(function() {
    $("#btnAdd").click(function (e) {
        var itemIndex = $("#container input.iHidden").length;
        console.debug("itemIndex : "+itemIndex);
        e.preventDefault();
        var URL = "/WorkOrder/NewItem/" +itemIndex; 
        $.get(URL,function(data){
            $("#container").append(data);
        });           
    });
});

そしてコントローラーは

public ActionResult NewItem(int id)
    {
        var interest = new ItemModel { index = id };
        return View("_NewItem", interest);
    }

本当に簡単です。面白いことに、テスト localhost 環境では機能しますが、本番環境にデプロイするとすぐに、btnAdd 関数は何もしません。インスペクト エレメント ネットワーク デバッグ ツールを使用した後、ネットワークが部分ビューに対して 404 エラーを返していることがわかりました。

実装しようとしているルーティング方式を認識させるために、ルーティング テーブルをさらに調整する必要がありますか?

4

1 に答える 1

1

Try using Url.Action method instead of just hard coding the URI and pass the data using data parameter.

Example:

var URL = '<%= Url.Action("WorkOrder", "NewItem")%>';
$.get( URL,
       {id: itemIndex}
       function(data){
            $("#container").append(data);
       }); 
于 2013-09-06T18:46:28.253 に答える