我在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函数什么都不做。使用inspect元素网络调试工具后,我发现网络正在为部分视图返回404错误。
我是否必须更多地调整路由表以使它们识别我想要实现的路由制度?
答案 0 :(得分:1)
尝试使用Url.Action方法,而不是仅使用硬编码URI并使用数据参数传递数据。
示例:
var URL = '<%= Url.Action("WorkOrder", "NewItem")%>';
$.get( URL,
{id: itemIndex}
function(data){
$("#container").append(data);
});