相关疑难解决方法(0)

如何在MVC中设置默认路由(到某个区域)

好的,以前有人问过,但那里没有可靠的解决方案.所以为了我自己和其他可能觉得有用的人的目的.

在MVC2(ASP.NET)中我想要它,所以当有人导航到网站时,指定了一个默认区域.因此,导航到我的站点应该会将您发送到AreaZ中的ControllerX ActionY.

在Global.asax中使用以下路由

routes.MapRoute(
                "Area",
                "",
                new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " }
            );
Run Code Online (Sandbox Code Playgroud)

现在,这样可以尝试提供正确的页面.但是,MVC继续在站点的根目录中查找View,而不是在Area文件夹中查找.

有办法解决这个问题吗?

编辑

有一个'解决方案',即在ControllerX中,ActionY返回视图的完整路径.一点点黑客但它确实有效.但是我希望有更好的解决方案.

         public ActionResult ActionY()
        {
            return View("~/Areas/AreaZ/views/ActionY.aspx");
        }
Run Code Online (Sandbox Code Playgroud)

编辑:

当具有页面的HTML ActionLink时,这也成为一个问题.如果未设置该区域,则"操作链接"输出为空白.

所有这些都是设计还是缺陷?

asp.net-mvc asp.net-mvc-2

119
推荐指数
5
解决办法
10万
查看次数

是否可以访问位于另一个项目中的MVC视图?

我想将我的MVC项目分成几个项目

首先,我创建了两个项目FrontViews

阵线项目是一个Web应用程序,其中包含控制器和模型

项目是一个类库项目,将只包含的意见

我的问题是如何在Views项目中创建控制器调用视图

我有像这样的控制器:

public ActionResult Default()
        {
            return this.View();
        }
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

25
推荐指数
3
解决办法
3万
查看次数

MVC Razor分离了dll

我有两个非常相似的网站,在某些地方有很多共同点,但其他一些地方完全不同.所以我创建了三个mvc4应用程序MainSiteA,MainSiteB,SharedUI,并使用RazorGenerated在两个站点之间预编译(和共享)视图.当前的问题是我的SharedUI视图优先于MainSiteA上的编译或非编译视图,我希望它反之亦然.

有:

SiteA:
    Views/Index.cshtml (a)

SiteB:
    Views/Index.cshtml (b)
    Views/Header.cshtml (b)

SharedUI:
    Views/Index.cshtml (s)
    Views/Header.cshtml (s)
    Views/Footer.cshtml (s)
Run Code Online (Sandbox Code Playgroud)

如何以这种方式根据站点访问特定页面:

SiteA
Index.cshtml (a)
Header.cshtml (s)
Footer.cshtml (s)

SiteB
Index.cshtml (b)
Header.cshtml (b)
Footer.cshtml (s)
Run Code Online (Sandbox Code Playgroud)

我希望MVC首先查看它自己的MVC应用程序,如果找不到视图,请查看视图的共享库(SharedUI).

asp.net-mvc razor razorgenerator

1
推荐指数
1
解决办法
1059
查看次数