ASP.Net 正在调试而不是在 IIS 上

ASP.Net working on debug not on IIS

我有一个名为 Clients 的控制器,我将 CRUD 操作作为操作 [HttpPost]。添加、更新、删除。所有这些操作都使用 RedirectionToAction。如下图所示,我已经尝试了 post 和 get

唯一的问题是我没有使用 Begin 表单,而是使用如下所示的旧方法。

问题是,当我使用 Visual Studio 中的调试程序对其进行测试时,它可以正常工作。但是当我将它部署到实际服务器 (IIS) 并对其进行测试时,我遇到了 404 错误。

最初我没有为每个 Acton 创建一个视图,但即使我尝试为每个 Acton 创建一个视图它仍然不起作用。

我已经在我的家庭虚拟服务器上部署了相同的代码,并且可以正常工作。看起来问题出在我们的工作服务器上。有什么原因造成的吗?

sHTML.push("<form name='frmUpdateClient' method='POST' action='/Clients/Update'>");

这里您似乎已将 <form> 元素的操作参数硬编码为 /Clients/Update。但也许在您的生产服务器上,您已将 ASP.NET MVC 应用程序托管在虚拟目录中。因此,您可能需要考虑到这一点并生成正确的 url:

action='/VirtualDirectoryName/Clients/Update'