在ASP.NET MVC中,有這些稱爲視圖模板的html片段,當它們的匹配數據出現在屏幕上時,它們就會出現。例如,如果您有一個客戶訂單並且它有一個供應商地址,則供應商地址視圖模板會顯示數據填充。CSS:可以通過html文檔中途定義樣式?
不幸的是,這些不能訪問「MasterPages」,也不知道他們的CSS環境。
不是用樣式標籤加載它們,有沒有什麼辦法可以創建部分CSS文件,這些文件可以用於特定的html代碼片段,一種內嵌CSS樣式部分?
這將是非常好的撲通下來就在我們渲染局部視圖:
<style type="text/css">
input { margin: .2em .2em;
overflow: hidden;
width: 18.8em;
height: 1.6em;
border: 1px solid black;}
</style>
有在特定HTML代碼段的15個左右的輸入字段的格式相同。這些被換出,所以輸入字段的位置改變。這也可能意味着在每個局部視圖上重置CSS。
因此,如果我們有20個部分視圖(.ascx文件)並且每個想要將內容添加到html頭部,那麼您會怎麼做?像(面板)Master.FindControl(「CssContent」)。someFunctionToAppendContent()? – 2010-06-07 20:17:29
@Dr Zim - 我看到下面的評論談到.ascx控件,我必須承認我錯過了那部分,所以我的回答可能不正確。上面的解決方案適用於'ViewPage'(如果我沒有弄錯)。按照我現在的理解,解釋這個問題 - 我有多個.ascx控件,它們都有獨特的CSS樣式。樣式是在每個控制文件中定義的。我希望CSS成爲文檔頭部的一部分,而不是分散在我的頁面的HTML中。 – Ahmad 2010-06-08 18:30:49
@Dr Zim - 另一個選擇是創建你自己的t4模板或者有一個'ViewModel',它包含一個對css文件的引用,然後你可以將它包含在Head中。我會根據你的迴應更新答案.. – Ahmad 2010-06-08 18:33:11