【问题标题】:How to load css into html dynamically?如何将css动态加载到html中?
【发布时间】:2012-04-16 00:58:38
【问题描述】:

我的 C# 程序使用 Web 浏览器控件,我通过从 html 字符串变量加载它以编程方式设置它的 html 属性。这几乎可以正常工作,但我注意到它丢失了对 css 文件的引用。我认为最简单的解决方案是使 css 文件的路径成为绝对路径,但我希望它保持相对于 C# 可执行文件。所以让我问一下如何让 html 在这样的上下文中引用 css 文件。

提前谢谢你。

编辑:对不起。我的 c# 应用程序是桌面应用程序,尽管它使用 Web 浏览器控件。 编辑:让我放一些代码。我首先从 html 文件加载文档,然后将其存储在变量中,然后第二次或更晚从变量加载文档。

  //first load
  web_browser_control.Url = new Uri( dir + @"\HTML\default1.html" );

  void wB2_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  {   html_string = web_browser_control.DocumentText; }

  //second load or later
  web_browser_control.DocumentText = html_string;

【问题讨论】:

  • 为什么它失去对css文件的引用 -- 你能解释一下吗?
  • 为什么不通过样式表或aspx页面中的样式标签设置css?
  • @George 我认为加载到 web 控件中的 html 字符串在本地文件系统中没有它的地址。
  • @RaghavKhunger Khunger 很抱歉,我没有说我的 C# 应用程序是桌面应用程序,而不是 Web 应用程序。
  • 再次询问您使用的控件是供应商提供的预构建控件还是您编写的控件

标签: c# javascript css


【解决方案1】:

你需要看看它认为它解析的路径,如果你能包含一些代码,那将是最好的,它可能没有解析到你认为它在 bin 目录之外执行的位置(是您的路径相对于可执行文件和 html 的路径是正确的),

例如,html 是否仍在您认为的位置或现在位于不同的目录中,因此相对路径现在已过时?

更多代码会更好,并表明您正在使用的控件。

【讨论】:

    【解决方案2】:

    似乎您可以将 css 文件的属性更改为“内容”并将属性“复制到输出目录”-“始终”,因此 wep 应用程序 dll 将与 css 文件位于同一目录中。 或者你可以使用 MapPath 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      相关资源
      最近更新 更多