我有一個應用程序正在調試和本地運行就好了。當我將它發佈到IIS時,控制器上的操作不再被發現。asp.net mvc - 當應用程序發佈到IIS的控制器操作返回404
它返回 http://server/home/Table2?ids=122026000&ids=123201000&ids=122627000&ids=121514000&ids=123187000 404 (Not Found)
我使用的JQuery AJAX功能IDS傳遞給隨後返回與來自IDS適當地構建的模型的局部視圖的動作。
控制器
public class HomeController : Controller
{
[HttpGet]
public ActionResult Table2(string[] ids)
{
(......) //query database and build model
return PartialView("_Partial", Model);
}
}
AJAX
var submitAgmtIds = function submitAgmtIds(ids) {
$.get('Home/Table2', $.param({ ids: ids }, true), function (partialView) {
$("#av-row-2").html(partialView);
});
expandTable();
}
ROUTE 這些地方保存爲默認...
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
「ids」是這樣的一個數組:var array = [1,2,3,4,5]
再一次,這在調試中工作正常,但現在返回404,它在Web服務器上。
想法?
UPDATE
我能得到這個硬上班編碼我的應用程序名稱爲Ajax調用,使得{application name}/Home/Table
。這按預期工作。我如何動態執行此操作,以便在應用程序以其他名稱部署時可以工作?
看到編輯。當項目建成時,它們作爲默認值保持。 – LCaraway
它在家庭控制器中 – LCaraway
什麼是您的AJAX調用發生的頁面的URL? – mason