在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