剃刀:从页面上的其他地方获取样式值

时间:2011-09-23 17:46:33

标签: asp.net razor

我正试图通过一些与Razor放在一起的ASP.NET页面来破解我的方式,从未见过今天之前使用的Razor,或多或少,我想知道是否有可能获取CSS样式值并使用它在Razor代码中,像这样:

@foreach (var item in someList.Where(i => someHTMLElement.display == block
                               ? i.property == "value"
                               : i.property == "othervalue"))
{
     ... display filtered list
}

这是Where位,我想填充一些有用的东西。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

Razor在服务器上运行得更早,客户端浏览器构建了一个DOM树。这意味着您无法使用Razor访问其他DOM元素。实现这一目标的最佳方法是简单地调整视图模型并为其包含必要的属性并让控制器填充它们。因此,在视图中,您所要做的就是对某些属性进行简单测试。

答案 1 :(得分:1)

您必须利用一些服务器端功能。 Razor视图以层次结构呈现,因此要显示的值必须在控制器中定义(如果使用MVC),或者在您打算实现它的位置。但是你可以在服务器上做出决定,或者使用JavaScript在客户端上复制这个逻辑......