Iro*_*fin 5 c# asp.net ajax razor asp.net-mvc-3
所以我在这里看到了这个问题,但它并没有真正为我解决这个问题.
我在我的开发者电脑上的IIS5上运行了一个ASP.NET MVC 3 + Razor应用程序,然后在我的开发Web服务器上安装了IIS6.在部署之前,一切都很顺利.我正在bin部署所有东西,在这方面没有问题(我可以告诉).
现在我得到这个Child动作不允许在我的页面上执行重定向动作错误.我不确定如何确定它失败的地方.
我正在使用@ Html.Action来获取一些包含数据的下拉框:
public ActionResult Hierarchy()
{
List<Store> storeList = DBService.getStores();
if (DBService.Error != null)
return RedirectToError(DBService.Error);
List<Department> deptList = DBService.getDepts();
if (DBService.Error != null)
return RedirectToError(DBService.Error);
VM_Hierarchy hierarchy = new VM_Hierarchy(storeList, deptList);
return View(hierarchy);
}
Run Code Online (Sandbox Code Playgroud)
如果我删除@Html.Action行,页面将呈现.如果我对控制器动作执行AJAX请求,它将会中断,例如:
[HttpPost]
public ActionResult InventoryList(string fromDate, string toDate)
{
List<Inventory> inventories = DBService.getInventories(fromDate, toDate);
if (DBService.Error != null)
return RedirectToAction("Error");
return View(inventories);
}
Run Code Online (Sandbox Code Playgroud)
如果这不正确,我应该如何重定向到错误页面或指示在帖子上返回什么视图?任何帮助表示赞赏.谢谢.
这可能是因为您在部署时从数据库服务中收到错误,而这些错误并非在本地获得.这导致它尝试从子操作重定向,这是您无法做到的.
您可能希望尝试在主操作中获取下拉数据,并将其全部放在ViewModel中,这样您就不会使用子操作了.如果失败,您可以重定向到您内心的内容.对于AJAX,您需要处理客户端上的错误并做一些合理的事情,您不能只是从AJAX调用返回重定向.
这个问题有一些进一步的信息: 为什么在Asp.net MVC 2中的子动作中不允许重定向结果
| 归档时间: |
|
| 查看次数: |
12235 次 |
| 最近记录: |