gpt4 book ai didi

asp.net - 如何在 ASP.NET MVC4 项目之间共享 HTML

转载 作者:行者123 更新时间:2023-12-03 15:00:36 24 4
gpt4 key购买 nike

我正在构建的几个网站在页面中显示相同或相似的数据。为了减少代码重复,我所做的是创建了第三个项目/网站,并认为我会将其用作共享 HTML、java 脚本、CSS、图像等的位置。

我能够使用相对路径从共享项目中包含 JavaScript、CSS 和图像。但是我无法呈现 HTML 的部分页面。当尝试使用以下代码访问试图加载部分页面的两个网站时:

@RenderPage("/SharedArtifacts/Views/MySharedViewscshtml")

我收到以下回复:
The virtual path '/SharedArtifacts/Views/MySharedViewscshtml' maps to another application, which is not allowed.

现在我在谷歌上搜索并尝试使用 ~前缀指定路径的根来解决问题,但无济于事......仍然是同样的错误。

关于如何解决这个问题的任何想法?

最佳答案

我们一直这样做。简单(非编程)方法是在 IIS 中创建虚拟文件夹,这些文件夹映射到所有配套站点共有的共享文件夹。我们通常对错误结果页面和其他通用内容执行此操作。
/Views/SharedVirtual/somefile.ascx
路径 /Views/SharedVirtual通过 IIS 的虚拟文件夹映射。然后在 Controller 中我们可以做一个 return View("/Views/SharedVirtual/somefile.ascx",somemodel); .它也适用于 RenderPartial。

在本地处理我使用的项目时 mklink在映射到共享公用文件夹的项目文件夹中创建连接点。这样 VS 认为该文件夹是本地的,而它不是本地的,并且可以在本地运行项目进行调试。

我们通常不使用 Razor,但这个概念应该是一样的,因为它不是 VS 进行共享映射,而是它的 OS 和 IIS。

一个警告是,如果您编辑 View ,它们将在所有项目中更改,因此您必须小心编辑,以确保它们在引用它们的所有项目中使用时兼容。

关于asp.net - 如何在 ASP.NET MVC4 项目之间共享 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com