问题标签 [portable-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 回答
1400 浏览

asp.net-mvc - MVCContrib 可移植区域不适用于 HtmlExtensions,MVC 3

我刚刚实现了 MVCContrib 的 Portable Area 功能,它运行良好。我可以使用打开它: http://localhost/projectname/portableAreaName,但是如果我使用 HtmlHelper 扩展方法渲染它,这个便携式区域将不起作用,如下所示:

并在视图中调用辅助方法:

我收到一个错误:未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。在可能的位置列表中,没有 ~/areas/... 定义。但是我可以使用视图中的同一行代码成功渲染我的 HtmlWidget:

我做错了什么,我应该如何正确使用 HtmlHelper 扩展和 MVCContrib 可移植区域功能?

0 投票
1 回答
608 浏览

asp.net-mvc-3 - asp.net mvc 3 剃须刀部分和便携式区域

是否可以将便携式区域馈送到 ASP.Net MVC 3 剃须刀部分?我有一个部分用于放置 JS 文件、CSS、fiels 等。我希望能够从可移植区域针对可移植区域所需的任何 JS、CSS 文件的头部部分。这可能吗?

谢谢汤姆

0 投票
2 回答
1499 浏览

asp.net-mvc - ASP.NET MVC 3 - 便携式区域视图找不到我的模型

我已经开始使用 MvcContrib 的 Portable Areas 并且对于非常简单的视图一切正常,但是当我想在我的视图中使用自定义模型时,我收到错误说命名空间不存在。

视图设置为作为资源嵌入。视图中的智能感知可以很好地识别模型。

有谁知道可能导致问题的原因?

更新

我认为这可能与我使用 MEF 加载插件的事实有关。加载控制器时我遇到了类似的问题。如果默认控制器工厂没有找到合适的控制器,我必须构建一个自定义控制器工厂,该控制器工厂将在 MEF 控制器列表中查找。

更新 2

通过向 RazorBuildProvider 提供我的 MEF 加载程序集,我设法摆脱了错误。但是,现在找不到该视图了。如果视图不是强类型的,则会找到它。

源代码

该模型

控制器:

风景

错误:

0 投票
1 回答
349 浏览

asp.net-mvc - MVC 3.0 便携区域

MVC 3 是否支持便携式区域?我遇到了“MVC-contrib”,它是 HACK 吗?

0 投票
1 回答
1301 浏览

mvccontrib - MVC Contrib 可移植区域和静态内容

我遵循了一些关于如何从便携式区域提供静态内容的指南,但没有运气。我有两个项目,一个 Web 项目和一个类库(用作我的便携式区域)。在我的便携式区域(让我们将其命名为“MyArea”),我有一个 Content 文件夹,其中包含三个文件夹,Scripts、Styles、Images。

在 Scripts 文件夹中,我有一个简单的 js 文件作为嵌入式资源(“Hello.js”)。我的理解是 RegisterArea 调用的 RegisterDefaultRoutes 方法为这些映射到以下 url 创建路由:

目录 /Areas/AreaName/Content/Images 映射到 URL /AreaName/Images

目录 /Areas/AreaName/Content/Styles 映射到 URL /AreaName/Styles

目录 /Areas/AreaName/Content/Scripts 映射到 URL /AreaName/Scripts

我的布局视图 (_layout.cshtml)(位于我的 Web 项目中,将 MyArea 项目作为项目参考导入)在头部有以下内容:

但是,检查它会返回 404,所以我一定做错了什么

我也没有运气按照下面的指南

http://geekswithblogs.net/michelotti/archive/2010/04/13/mvc-portable-areas-enhancement-ndash-embedded-resource-controller.aspx

http://groups.google.com/group/mvccontrib-discuss/browse_thread/thread/b5f9c77f3a7523ff

我究竟做错了什么?

非常感谢。

0 投票
1 回答
381 浏览

c# - 使用ninject注入其他程序集中的类

我的项目是使用便携式区域完成的,我使用 ninject 进行 DI,我正在注入一个在其他程序集中的类,所以我在 areaRegistraction 中有以下代码:

在我的构造函数中,我有以下代码:

但由于某种原因 configurationRepository 为空

但如果我说:

它工作正常。他们之间有什么不同?

任何线索将不胜感激。

0 投票
2 回答
474 浏览

asp.net-mvc - MvcContrib 强类型 BeginForm 重载路由到可移植区域而不是消耗路由

我在 MVC2 网络上使用 MvcContrib 2.0.95.0。我们创建了可移动区域并在页面上使用它们。

在我使用便携式区域中的小部件的视图页面上,我注意到 BeginForm 正在将我的帖子路由到我的便携式区域。

这产生了以下路线。注意路线中的自定义区域:

为了比较起见,我将重载的字符串 BeginForm 放在它上面:

我的便携式区域在控制器上没有这个,所以我很困惑为什么它会在这里路由。

...它产生了以下正确的路线:

我的便携式区域包含命名空间约束,而我的消费应用程序的路由没有。

如果不在我的链接和表单创建中使用字符串重载,我怎样才能防止我的便携式区域污染我的消费应用程序的路由?

0 投票
1 回答
1553 浏览

asp.net-mvc - MVC 4 便携区域 CSS/JS 缩小

我使用 MVC 3 + Contrib Project PortableAreas 将我的网站拆分为多个项目。现在我转移到 MVC 4 并想为我的 css 和 JS 使用新的功能缩小。

但是当我这样做时:

代替:

这没用。如何在便携式区域中使用捆绑/缩小?

谢谢

0 投票
1 回答
293 浏览

c# - Mvc Contrib Portable area - 换掉总线?

是否可以将公共汽车换成公共交通之类的东西?我的应用程序中已经有一个服务总线,所以不想再介绍一个。

理想情况下,我可以通过 IoC 对其进行配置,但听起来总线拥有 IoC 容器?

0 投票
0 回答
360 浏览

c# - MvcContrib PortableArea 中的多个内容子文件夹

我正在寻找一个通用的 ASP.MVC(c# 和 razor)基础项目,其中包含通用控制器、_Layout.cshtml、css 和 js,供我们的许多 webapps 扩展。

我认为使用 MvcContrib 和创建 Portable Areas 是我最好的选择

所以文件夹设置大致是这样的

基础项目

  • 内容
    • js
      • 插件
      • 杂项
    • 图片
    • css
  • 控制器
  • 意见

主项目

  • 内容
  • 控制器
  • 意见

我正在通过扩展 PortableAreaRegistration 类(根据 MvcContrib 文档)注册 BaseProj 区域,所以这个 url 有效......

http://localhost/MainProj/BaseProj/

查看 PortableAreaRegistration 的 MvcContrib 代码,它还在 Content 下注册了 3 个静态路由(图像、样式、脚本)。

因此这个网址也可以正常工作......

http://localhost/MainProj/BaseProj/images/bar.jpg

只有当我使用点而不是斜线时,子文件夹才能正常工作...... htttp://localhost/MainProj/BaseProj/images/foo.bar.jpg

然而,为了组织目的,在图像、css、js 等下有子文件夹真的很有用。这些子文件夹现在将是 404

即这不起作用.... http://localhost/MainProj/BaseProj/images/foo/bar.jpg

所以问题是我如何映射图像下的子文件夹(没有点符号)?即这样可以工作.... htttp://localhost/MainProj/BaseProj/images/foo/bar.jpg

谢谢

编辑:

好吧,我想了一下,找到了解决方案。我想知道这种东西是否可能默认包含在 MvcContrib.Portable Areas 中。

首先在 BaseProjRegistration.cs 中创建一个 catch all 路由来捕获 Content 的所有子文件夹

然后在 BaseProj 中创建一个 ContentController 类,该类将扩展 MvcContrib.PortableAreas.EmbeddedResourceController。

这会将斜杠转换为点以从 DLL 加载 BaseProj 内容,即 /BaseProj/Content/images/foo/bar.jpg => /BaseProj/Content/images.foo.bar.jpg

这对我有用,但是欢迎任何其他关于如何为许多 webapps 扩展设置通用基础项目的建议