在现有的ASP.NET MVC页面中嵌入另一个html页面



我有十多年的C#桌面应用程序开发经验,但我是ASP.NET MVC的新手,我的术语可能不正确,所以我会提前道歉。

我一直在开发一个ASP.NET MVC 4网站,该网站有jQuery 1.4和bootstrap 3,还有很多CSS自定义。我一直在尝试实现一个功能,并且我能够使用bootstrap 4单独实现它,但当我复制代码并在Partial视图中呈现它时,结果是糟糕

我花了很多时间试图弄清楚为什么它显示得如此糟糕,我已经意识到,在bootstrap 3和4的不兼容以及该网站的所有CSS自定义之间,使用这种方法几乎是不可行的。

然后我想我可以直接将我的所有style更改进行内联,但这并不能使事情变得非常可维护,而且很明显不受欢迎。

话虽如此,我看到了很多关于IFrame使用的帖子,它看起来很有吸引力,但我也有顾虑。

  1. 我是否能够将对象从主cshtml页面传递到IFrame
  2. 我能在IFrame中使用不同的jQuery/bootstrap/CSS吗
  3. 还有其他选择吗
  1. 编号。由于这是一个安全问题,所以这是不可能的
  2. 是的。Iframe是独立渲染的
  3. 我想到了两个建议,没有一个解决方案是容易的,需要大量的重新编码:
  • 将您的部分视图降级为bootstrap 3:这是一个您不想看到的明显选项
  • 使用自定义类名重新编译bs4:您的问题是名称相同但在bs3和bs4中作用不同的类名。因此,您可以在bs4的源代码中重命名这些类名,然后编译并使用它们。例如:将row类重命名为bs4-row。由于您不需要所有的bs4库来设计代码的样式,因此只需要重命名和编译所需的文件,如:_grid.scss

最新更新