好的,所以我有一些UserControls,我试图从另一个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;
当我调试过去的时候,我得到一个“No Source Available”页面,当我继续时,页面加载了上面给出的错误信息。
答案 0 :(得分:1)
您无法跨应用程序共享视图。事实上你可以,但你必须编写一个自定义virtual path provider,这可能是相当多的工作。例如,您可以查看following article,它说明了一个自定义提供程序,它允许将Razor视图嵌入到单独的程序集中,并在多个MVC应用程序中重用它们。