1

好的,所以我有一些我试图从另一个 MVC 项目加载的用户控件。我已将 UserControls 项目添加到 Map Route 参数中,因此它“应该”在那里。

我开始在两个项目中都使用 Ninject,但它返回时出现以下错误:

未找到部分视图“UserDetails”或没有视图引擎支持搜索的位置。

如果我从 userControls 项目中删除 Ninject 东西,它会加载正确的控制器方法,但由于需要 ninject 访问模型而失败。

有没有办法将 Ninject 保留在第二个项目中或在第二个项目中使用第一个项目的绑定?

更新:

我在 ASP.NET MVC 中有两个应用程序,它们是同一解决方案中的不同项目。我在两个项目中都使用了 Ninject。我正在尝试使用将一个项目的部分视图加载到另一个项目中

@{ Html.RenderAction("UserDetails", "UserDetails", ...}

当我这样做并在 UserDetails 控制器的构造函数上放置一个断点时,它会被命中。构造函数有以下几行代码:

 _guestDetailsField = guestDetailsField;
 _guest = guest;
 _bookingSelection = bookingSelection;

当我调试过去时,我得到一个“无可用源”页面,当我继续时,页面加载了上面给出的错误消息。

4

1 回答 1

1

您不能跨应用程序共享视图。事实上你可以,但你必须编写一个自定义的虚拟路径提供程序,这可能是相当多的工作。例如,您可以查看以下文章,该文章说明了一个自定义提供程序,该提供程序允许将 Razor 视图嵌入到单独的程序集中并在多个 MVC 应用程序中重用它们。

于 2012-06-12T15:29:50.533 回答