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);
    }

真的很简单。有趣的是,它在测试本地主机环境中工作,但是一旦我将它部署到生产环境中,btnAdd 函数什么也不做。使用检查元素网络调试工具后,我发现网络正在为部分视图返回 404 错误。

我是否必须更多地调整路由表以使它们识别我正在尝试实施的路由机制?

4

1 回答 1

1

尝试使用 Url.Action 方法,而不是仅仅硬编码 URI 并使用 data 参数传递数据。

例子:

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