【问题标题】:asp.net mvc area not working on iisasp.net mvc 区域在 iis 上不起作用
【发布时间】:2017-06-03 00:48:12
【问题描述】:

我根据本教程创建了 area/modular MVC5 应用程序: This

它在本地运行得很好。但是当我在iis 上部署项目并单击指定区域链接时出现404 错误。

我没有找到任何解决方案。

找不到资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。 请求的网址:/Sale

这是我在本地运行时完美运行的操作链接:

     @Html.ActionLink("Sale","Index","Sale",new { Area="Sale"},null)

已编辑

    public class SaleAreaRegistration:AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "Sale";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {

        context.MapRoute(
            "Sale_default",
            "Sale/{controller}/{action}/{id}",
            new { controller = "Sale", action = "Index", id = UrlParameter.Optional },
            new string[] { "MVCPluggableDemo.Controllers" }
        );
    }
}

注意:根据我在第一行所说的教程。我在解决方案中的另一个虚拟项目中创建了我的模块项目(实际路径在主项目的区域文件夹中,如“~/ProjectName/Areas/”)。但我认为发布者不理解它...因为我在部署路径中看不到我的任何模块视图。

最好通过这个明显的问题来完成我的帮助请求: 如何部署MVC项目包括areas,以及areas文件夹下的modules

【问题讨论】:

  • 显示routeconfig.cs和相关的arearegistration.cs文件
  • @Shoe 我在编辑中做到了...

标签: iis asp.net-mvc-5 asp.net-mvc-routing asp.net-mvc-areas


【解决方案1】:

很明显:

Check your page directory. The server cannot locate your the file,
it maybe in different folder.

也可以尝试Check this

【讨论】:

  • 你是对的......部署路径中不存在该目录,但我现在不知道为什么发布者不理解它......因为它在本地运行。 :(
  • 确保所有文件都包含在您部署的文件夹中。
【解决方案2】:

我的问题的主要原因是:

VisualStudio 在发布路径中不包含我的 Area 文件夹。为什么?我不知道

解决方案: 还没有解决方案!..但是我在 bin 文件夹中手动添加了我的模块 dll。并在主要发布的解决方案中创建了我的区域文件夹和他的模块项目解决方案(不需要dll),手动到..

终于成功了,但我不认为是标准解决方案

【讨论】:

  • StackOverflow 是关于可回答的问题。您应该积极地将您提出的任何问题标记为已回答,即使答案是您自己的。
猜你喜欢
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多