Asp.net mvc 使用Ninject从另一个项目加载局部视图

Asp.net mvc 使用Ninject从另一个项目加载局部视图,asp.net-mvc,user-controls,ninject,Asp.net Mvc,User Controls,Ninject,好的,我有一些用户控件,我正试图从另一个MVC项目加载它们。我已经将UserControls项目添加到MapRoute参数中,因此它“应该”在那里查看 我开始在两个项目中都使用Ninject,但后来又出现了以下错误: 找不到部分视图“UserDetails”或没有视图引擎 支持搜索的位置 如果我从userControls项目中删除Ninject内容,它将加载正确的控制器方法,但由于需要Ninject访问模型而失败 有没有办法在第二个项目中保留Ninject,或者在第二个项目中使用第一个项目的绑定

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

我开始在两个项目中都使用Ninject,但后来又出现了以下错误:

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

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

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

更新:

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

@{ Html.RenderAction("UserDetails", "UserDetails", ...}
当我这样做并在UserDetails控制器的构造函数上放置一个断点时,它会被击中。构造函数具有以下代码行:

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

当我调试完这些代码后,会看到一个“无可用源代码”页面,当我继续调试时,该页面会加载上面给出的错误消息。

您不能在应用程序之间共享视图。事实上,你可以,但你将不得不写一个自定义,这可能是相当多的工作。例如,您可以查看,其中演示了一个自定义提供程序,它允许将Razor视图嵌入到单独的程序集中,并跨多个MVC应用程序重用它们。

您不能跨应用程序共享视图。事实上,你可以,但你将不得不写一个自定义,这可能是相当多的工作。例如,您可以查看,其中演示了一个自定义提供程序,该提供程序允许将Razor视图嵌入到单独的程序集中,并在多个MVC应用程序中重用它们。

我应该添加,当ninject位于usercontrols项目中时,控制器的构造函数(将抽象模型实例作为参数)被命中,我已经第三次读你的问题了,但仍然没有从中理解任何东西。放弃。希望你能提供更多的细节。好吧,也许解释一下你不明白的地方会有帮助。但我会补充更多信息。我应该补充的是,当ninject在usercontrols项目中时,控制器的构造函数(以抽象模型实例为参数)被命中,因此它仍然找到了正确的位置。我正在第三次阅读你的问题,仍然不理解其中的任何内容。放弃。希望你能提供更多的细节。好吧,也许解释一下你不明白的地方会有帮助。但是我会添加更多的信息。但是当我从“UserControls”项目中取出ninject内容并通过它进行调试时,它运行正常,只是因为我无法使用ninject访问数据。但是当我从“UserControls”项目中取出ninject内容并通过它进行调试时,它运行正常,它只是因为我无法使用ninject访问数据而崩溃。