问题标签 [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.
asp.net-mvc - 如何在多个应用程序或网站中重用区域、控制器、视图、模型、路由
我有一个测试解决方案,它只有一个名为 Admin 的区域。
我想在许多其他 Web 应用程序中重用 Admin。
我在 IIS 中有一个 Web 应用程序设置,然后我添加了一个虚拟应用程序,/Admin
来自Areas\Admin
.
当我导航到 /Admin 时,我会看到一个目录列表。当我尝试点击控制器时,/Admin/News。我收到 404 错误。即使代码在 global.asax 中,也可能是这些区域没有注册。但是,我确信我做错了。
请建议更改以使这种情况起作用。
c# - MVC 3 不在区域下寻找视图
我在 MVC 3 中使用了多个区域,但我的视图没有被找到时遇到了问题。路由似乎正确地选择了我的控制器(所有操作都在执行,没有任何问题),但是当我返回视图时,MVC 根本找不到它。
因此,如果我在一个名为“Some”的区域中有一个名为“Thing”的简单控制器,我会执行以下操作......
动作正确执行,但 MVC 找不到视图,我会收到一条消息,说类似
未找到视图“索引”或其主视图...它会向我显示所有搜索到的位置,这将是
~/Views/Thing/Index.cshtml ~/Views/Shared/Index.cshtml
等等等等,但它不看
~/Some/Views/Thing/Index.cshtml
关于我做错了什么的任何想法?
asp.net-mvc-3 - 使用区域时只有一个 _viewstart 和 web.config
在 MVC3 中使用区域时是否可以有一个 _viewtstart.cshtml 和 web.config 文件。我发现我需要在每个区域复制 _viewstart.cshtml 和 web.config。这似乎相当愚蠢,尤其是对于 _viewstart 文件。
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 行:
这是我的温莎代码:
asp.net-mvc-3 - 如果在区域中找不到控制器,如何启用对“根”控制器的优雅回退
我有一个 ASP.NET MVC3 Razor 应用程序变得太大而无法有效管理。为了更好地控制代码,我实现了区域并将代码重新安排在各自的区域中。
从多个区域使用的东西留在“普通”控制器文件夹中。
一旦我使用某个区域的 Action 或 ActionLink,我的问题就会出现。我必须手动包含一个名为 'area = ""' 的路由参数才能使链接正常工作。
有很多链接需要更改,所以我尝试让控制器选择回退到“根”控制器以找到所需的控制器。到目前为止我没有运气。
如果找不到控制器,我必须做什么才能使 MVC3 搜索区域控制器并继续在根控制器文件夹中搜索?
谢谢安德烈亚斯
asp.net-mvc-3 - mvc3 - 在不同区域使用局部视图
我有两个关于部分观点的问题......
何时使用 Partial 视图与 @helper 方法,我可以互换使用这两种方法,并希望在它们的使用上更加一致。你们是做什么的?
您如何引用另一个区域的局部视图。
我有一个名为 admin 的区域,并且在常规 Views 目录中有一个部分视图。我如何使用它.. 我尝试了以下无法找到的方法。
其他我试过 -
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# 中加载)。但我试过这个:
和
但没有成功。
我确信这应该很简单,而且我已经尝试了很多事情——这非常令人沮丧。任何帮助将非常感激。
我在这里的第一篇文章-嗨!:)
c# - MVC 3 AREAS - 分层工作流
对于我正在从事的项目,我们有公司。公司有联系方式和设施。根据业务规则,流程是您选择一家公司来访问联系人或设施。
编辑: 实体是公司、设施和联系人。
由于每个实体都有自己的工作流程,因此它们在代码中都有自己的一个区域。什么是确保路由 url 如下所示的干净方法:
/公司/1234/联系人/456
/公司/1234/设施/679
如果有一种方法可以进入下一个领域,这似乎是一个好方法,但可能会使代码变得混乱。
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将不起作用,但应该,因为它存在!
asp.net-mvc-3 - 我可以编译一个区域并将 dll 用作多个站点的模块吗?
我试图找出我是否正确地考虑了这一点。我的目标是使用 MVC 模式放入 dll 并访问帮助程序和部分视图(也可能是视图)。我最近一直将区域视为模块,当我在站点上的任何地方需要它们时,使用 @RenderAction 为我提供一些部分。我可以将整个区域复制出来并在另一个站点上重复使用,但这意味着更改每个文件上的名称空间并且它是该区域的重复,因此我无法在一个地方为所有站点更新它。如果我不正确地处理这个问题,我对想法和想法持开放态度。为了清楚起见,这是我的问题:有没有办法只隔离一个区域并在它自己的程序集中编译它?如果是这样,为什么没有新的项目类型呢?像添加->新->模块?
谢谢