Asp.net mvc PartialView方法中的路径(在应用程序之间共享)

Asp.net mvc PartialView方法中的路径(在应用程序之间共享),asp.net-mvc,Asp.net Mvc,我想在一些应用程序之间共享一些局部视图。我尝试了互联网上建议的不同解决方案,但没有一个不起作用! 但我希望通过在PartialView方法中使用绝对路径或关系路径,它可以工作,但我不知道是否可能 这里有两个问题: 如果我在解决方案中创建一个公共项目作为子域,我可以在其他项目的PartialView方法中使用它的URL 如果我在解决方案中创建公共文件夹,我会使用类似于“~/../common/myView.cshtml”的路径。在本例中,Visual Studio在运行时未在编辑器上向我提交错误(

我想在一些应用程序之间共享一些局部视图。我尝试了互联网上建议的不同解决方案,但没有一个不起作用! 但我希望通过在
PartialView
方法中使用绝对路径或关系路径,它可以工作,但我不知道是否可能

这里有两个问题:

  • 如果我在解决方案中创建一个公共项目作为子域,我可以在其他项目的
    PartialView
    方法中使用它的URL
  • 如果我在解决方案中创建公共文件夹,我会使用类似于
    “~/../common/myView.cshtml”
    的路径。在本例中,Visual Studio在运行时未在编辑器上向我提交错误(“无法使用前导..退出顶部目录上方”)。那么,是否有任何解决方案可以在根目录之外使用公共文件夹的路径
  • 我知道我最好把这些问题分成两个问题,但由于没有办法分享部分观点,我把它们收集在这里

    正如您所看到的,我的解决方案中有一个公共文件夹,其中包含
    \u main menu.cshtml
    ,而且我在网站项目的共享文件夹中也有这个文件

    我应该如何在Admin controller中将PartialView写入到它们各自的路径

    我想要一些如下代码:

    对于公用文件夹:

    返回PartialView(“~/../Common/_MainMenu.cshtml”)

    对于共享文件夹:

    返回部分视图(“http://localhost:16287/Module/Menu/_MainMenu");

  • 不可能
  • 这不是个好主意
  • 因为这不是可以编译成DLL的代码,也不能通过简单地引用它来使用,所以最好在应用程序中创建区域或复制视图

    编辑:可以编译Razor视图。但这并没有改变这样一个事实,即如果Razor视图路径解析器位于Web项目之外,它就不能引用任何视图。虚拟路径可以工作。
    感谢@DaveAlperovich

    请分享一些代码以获得更多理解。不看代码,疯狂的解决方案是使用viewEngine动态创建视图,并在任意多个项目中使用它。我附加了一些代码以显示我的意思,正如您所见,Razor引擎限制了您对视图的访问。它们应该在“视图”文件夹内,不能在“Web项目”文件夹外。仅仅因为你不喜欢别人对你说的话就否决投票答案是非常不礼貌的。你不必投票给正确的答案,但是如果你真诚地得到的答案是正确的,而你投票给了错误的答案,人们就会失去帮助你的兴趣。-遵循上述问题我应该出于某些原因分开项目,我正在寻找一种在应用程序之间分享观点的方法。你问了一个问题,我回答了,这是错的吗?只有当答案是错误的或无关的时候,你应该考虑下投票。如果它是错误的,那么请提供正确的东西。是的。你的答案无关紧要。我的问题是“PartialView方法中的路径”。所以部分视图中设置的路径的类型是我的意思。除了Razor视图可以编译之外,所有的都是真的。但这并没有改变这样一个事实,即如果Razor视图路径解析器位于Web项目之外,它就不能引用任何视图。虚拟路径可以工作。平心而论,这个答案应该重新措辞。@SiamakFerdos,这个答案对于你的问题是正确的。Razor路径仅适用于Web项目文件夹内的文件。不喜欢一个答案是否决它的一个不好的理由。