【发布时间】:2016-07-20 06:23:29
【问题描述】:
我想在一些应用程序之间共享一些局部视图。我尝试了互联网上建议的不同解决方案,但没有一个不起作用!
但我希望通过在PartialView 方法中使用绝对路径或关系路径它可以工作,但我不知道它是否可能。
所以这里有两个问题:
- 如果我在我的解决方案中创建一个公共项目作为子域,我可以在其他项目的
PartialView方法中使用它的URL吗? - 如果我在我的解决方案中创建公用文件夹,我会使用类似
"~/../Common/myView.cshtml"的路径。在这种情况下,Visual Studio 在运行时不会在编辑器上对我产生错误我收到一个错误(“不能使用前导 .. 退出顶级目录”)。那么有什么解决方案可以在根目录之外使用公共文件夹的路径吗?
我知道最好将这些问题分成 2 个问题,但由于没有解决方案来分享部分观点,所以我在这里收集它们。
如您所见,我的解决方案中有一个 Common 文件夹,其中包含 _MainMenu.cshtml,并且我在网站项目的共享文件夹中也有这个文件。
我应该如何在 Admin 控制器中编写 PartialView 到它们每个的路径?
我想要一些这样的代码:
对于普通文件夹:
return PartialView("~/../Common/_MainMenu.cshtml");
对于共享文件夹:
return PartialView("http://localhost:16287/Module/Menu/_MainMenu");
【问题讨论】:
-
请分享一些代码以获得更多理解..
-
不查看您的代码,疯狂的解决方案是使用 viewEngine 动态创建视图并在任意多个项目中使用它。
-
我附加了一些代码来显示我的意思
-
如您所见,Razor 引擎限制了您对视图的访问。它们应该在您的视图文件夹中,并且不能在您的 Web 项目文件夹之外。仅仅因为您不喜欢人们告诉您的内容而对答案投反对票是非常糟糕的礼仪。您不必对正确答案投赞成票,但如果您真诚地得到的答案是准确的,而您投了反对票,人们就会失去帮助您的兴趣。
-
- 关注link 进行上述查询
标签: asp.net-mvc