2012-04-02 51 views
2

我的C#程序使用Web瀏覽器控件,並通過從html字符串變量中對其進行編程來設置其html屬性。這幾乎效果不錯,但我注意到它失去了對css文件的引用。我認爲一個最簡單的解決方案是使css文件的路徑爲絕對路徑,但我希望它仍然相對於C#可執行文件。因此,讓我問一下在這種情況下如何讓html引用到css文件。如何動態地將css加載到html中?

預先感謝您。

編輯:對不起。我的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; 
+0

爲什麼它*失去了參考*的CSS文件 - 你能解釋一下嗎? – 2012-04-02 11:06:01

+0

爲什麼不通過樣式表或通過aspx頁面中的樣式標籤設置CSS? – Raghav 2012-04-02 11:12:06

+0

@George我認爲加載到Web控件的html字符串在本地文件系統中沒有地址。 – 2012-04-02 11:19:33

回答

2

你需要看看它是怎麼想的路徑的解決,這將是最好的,如果你能請包括一些代碼,沒準它不是解決到您認爲這是因爲它執行出來的bin目錄(你的路徑相對於可執行文件和html的路徑是否正確),

例如,它的html仍然在你看它的位置,或者它現在在不同的目錄中,所以相對路徑是現在已經過時了?

更多的代碼會很好,並且表明您正在使用的控件。

2

似乎你可以改變CSS文件的屬性爲「內容」,並使屬性「複製到輸出目錄」 - 「總是」,所以wep應用程序的DLL將與CSS文件在同一目錄。 或者你可以使用MapPath方法。

相關問題