问题标签 [asp.net-mvc-3-areas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2479 浏览

asp.net-mvc - 如何在多个应用程序或网站中重用区域、控制器、视图、模型、路由

我有一个测试解决方案,它只有一个名为 Admin 的区域。

我想在许多其他 Web 应用程序中重用 Admin。

我在 IIS 中有一个 Web 应用程序设置,然后我添加了一个虚拟应用程序,/Admin来自Areas\Admin.

当我导航到 /Admin 时,我会看到一个目录列表。当我尝试点击控制器时,/Admin/News。我收到 404 错误。即使代码在 global.asax 中,也可能是这些区域没有注册。但是,我确信我做错了。

请建议更改以使这种情况起作用。

0 投票
9 回答
13704 浏览

c# - MVC 3 不在区域下寻找视图

我在 MVC 3 中使用了多个区域,但我的视图没有被找到时遇到了问题。路由似乎正确地选择了我的控制器(所有操作都在执行,没有任何问题),但是当我返回视图时,MVC 根本找不到它。

因此,如果我在一个名为“Some”的区域中有一个名为“Thing”的简单控制器,我会执行以下操作......

动作正确执行,但 MVC 找不到视图,我会收到一条消息,说类似

未找到视图“索引”或其主视图...它会向我显示所有搜索到的位置,这将是

~/Views/Thing/Index.cshtml ~/Views/Shared/Index.cshtml

等等等等,但它不看

~/Some/Views/Thing/Index.cshtml

关于我做错了什么的任何想法?

0 投票
1 回答
387 浏览

asp.net-mvc-3 - 使用区域时只有一个 _viewstart 和 web.config

在 MVC3 中使用区域时是否可以有一个 _viewtstart.cshtml 和 web.config 文件。我发现我需要在每个区域复制 _viewstart.cshtml 和 web.config。这似乎相当愚蠢,尤其是对于 _viewstart 文件。

0 投票
0 回答
307 浏览

asp.net-mvc-3 - MVC3 区域问题

我正在使用 MVC3 构建应用程序,当我想添加区域时遇到问题。

我正在添加一个 UsersArea 一切正常,但是当我尝试运行该网站时,我收到以下错误:

未找到关键用户控制器的组件

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:Castle.MicroKernel.ComponentNotFoundException:未找到关键用户控制器的组件

源错误:

第 160 行:public IController CreateController(RequestContext context, string controllerName) 第 161 行:{ 第 162 行:return IoC.Resolve((controllerName + "Controller").ToLower()); 第 163 行:} 第 164 行:

这是我的温莎代码:

0 投票
1 回答
439 浏览

asp.net-mvc-3 - 如果在区域中找不到控制器,如何启用对“根”控制器的优雅回退

我有一个 ASP.NET MVC3 Razor 应用程序变得太大而无法有效管理。为了更好地控制代码,我实现了区域并将代码重新安排在各自的区域中。

从多个区域使用的东西留在“普通”控制器文件夹中。

一旦我使用某个区域的 Action 或 ActionLink,我的问题就会出现。我必须手动包含一个名为 'area = ""' 的路由参数才能使链接正常工作。

有很多链接需要更改,所以我尝试让控制器选择回退到“根”控制器以找到所需的控制器。到目前为止我没有运气。

如果找不到控制器,我必须做什么才能使 MVC3 搜索区域控制器并继续在根控制器文件夹中搜索?

谢谢安德烈亚斯

0 投票
5 回答
27286 浏览

asp.net-mvc-3 - mvc3 - 在不同区域使用局部视图

我有两个关于部分观点的问题......

  1. 何时使用 Partial 视图与 @helper 方法,我可以互换使用这两种方法,并希望在它们的使用上更加一致。你们是做什么的?

  2. 您如何引用另一个区域的局部视图。

我有一个名为 admin 的区域,并且在常规 Views 目录中有一个部分视图。我如何使用它.. 我尝试了以下无法找到的方法。

其他我试过 -

0 投票
3 回答
6474 浏览

asp.net-mvc - VB 中的 ASP NET MVC 区域路由/多路由问题

我对 .net 非常缺乏经验,并且刚刚开始学习 MVC。我遇到了一个关于找到多个控制器的问题:

“找到了与名为‘reviews’的控制器匹配的多种类型。如果为该请求提供服务的路由 (‘{controller}/{action}/{id}’) 未指定命名空间来搜索匹配的控制器,则可能会发生这种情况请求。如果是这种情况,请通过调用采用 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由。

我最近在我的应用程序中添加了一个新的“管理”区域,其中我有一个“ReviewController”。主应用程序文件夹中还有一个“ReviewController”:

啊 - 作为一个新用户,我不能发布图像,但基本上我在“控制器”和“区域/管理/控制者”中有一个“评论控制器”。

到目前为止,我设置了 2 条路线:

Global.asax.vb 中的默认路由

AdminAreaRegistration 中的区域路由

在阅读了我遇到的问题之后,我添加了一些代码:

我的管理员控制器定义了正确的命名空间

  • 命名空间 PowellCasting.Areas.Admin 而不是简单的 PowellCasting。
  • 我在全局中设置了 RegisterAllAreas
  • ControllerBuilder.Current.DefaultNamespaces.Add("PowellCasting/Controllers") 用于指定默认路由。

我现在遇到的具体问题是,当我转到“/Reviews”时,我得到了上面显示的多个控制器错误,具体来说:

*“reviews”请求找到了以下匹配的控制器:PowellCasting.PowellCasting.Areas.Admin.ReviewsController

PowellCasting.PowellCasting.ReviewsController*

我已经启用了路由调试器,并且只显示了一个匹配项:

啊-作为新用户,我无法发布图片,但它显示:

Admin/{controller}/{action}/{id} 为 FALSE

{controller}/{action}/{id} 为 TRUE

这是预期的,所以我不知道为什么我会收到这个问题。

我已阅读有关使用命名空间重载 maproute 方法的信息,但在 VB 中找不到示例(在 c# 中加载)。但我试过这个:

但没有成功。

我确信这应该很简单,而且我已经尝试了很多事情——这非常令人沮丧。任何帮助将非常感激。

我在这里的第一篇文章-嗨!:)

0 投票
1 回答
130 浏览

c# - MVC 3 AREAS - 分层工作流

对于我正在从事的项目,我们有公司。公司有联系方式和设施。根据业务规则,流程是您选择一家公司来访问联系人或设施。

编辑: 实体是公司、设施和联系人。

由于每个实体都有自己的工作流程,因此它们在代码中都有自己的一个区域。什么是确保路由 url 如下所示的干净方法:

/公司/1234/联系人/456

/公司/1234/设施/679

如果有一种方法可以进入下一个领域,这似乎是一个好方法,但可能会使代码变得混乱。

0 投票
1 回答
2993 浏览

asp.net-mvc-3 - MVC 3 不提供区域子文件夹中的内容文件

我有一个 MVC3 应用程序,它有几个区域和一个便携式区域(使用 MVCContrib)

通常,我将所有内容文件保存在 ~/Content 下,将我的脚本保存在 ~/Scripts 下。

但是,我正在为我网站上的另一个服务构建一个相当复杂的 web 客户端,我想在区域的文件夹结构下组织这些 javascript 和图像文件(大量图像文件和资源),看起来像这样,在 ~/Areas/网络客户端

  • 内容
    • css
    • 字体
    • 图片
    • js
  • 控制器
  • 楷模
  • 意见

我有一个资源聚合器控制器(我的便携式区域之一),它能够很好地访问 CSS/JS 文件夹以提供该内容。但是,CSS 文件直接引用了图像/字体文件夹,并且所有这些链接都显示为已损坏。我对路径进行了两次和三次检查,确保一切正常,但仍然出现 404 错误。

据我所知,只要那里有静态文件,MVC3 就应该忽略路由。另外,据我所知,只有 App_* 文件夹享有特殊保护。我错过了什么?如果可以避免的话,我宁愿不要将我的图像和资源与我的主应用程序混合。

例如:http://localhost/Areas/WebClient/Content/images/knownimage.png将不起作用,但应该,因为它存在!

0 投票
1 回答
754 浏览

asp.net-mvc-3 - 我可以编译一个区域并将 dll 用作多个站点的模块吗?

我试图找出我是否正确地考虑了这一点。我的目标是使用 MVC 模式放入 dll 并访问帮助程序和部分视图(也可能是视图)。我最近一直将区域视为模块,当我在站点上的任何地方需要它们时,使用 @RenderAction 为我提供一些部分。我可以将整个区域复制出来并在另一个站点上重复使用,但这意味着更改每个文件上的名称空间并且它是该区域的重复,因此我无法在一个地方为所有站点更新它。如果我不正确地处理这个问题,我对想法和想法持开放态度。为了清楚起见,这是我的问题:有没有办法只隔离一个区域并在它自己的程序集中编译它?如果是这样,为什么没有新的项目类型呢?像添加->新->模块?

谢谢