从变量后面的代码改变css类 - 避免的方式?

时间:2011-09-01 20:04:00

标签: c# asp.net html css

我需要根据后面代码中设置的一些count属性来更改div的背景。我可以按照以下方式开展工作。但我想知道这是不是一个好习惯。如果我需要更改计数逻辑,我必须更新代码与html。我想Jquery不能这样做,除非我在页面上有一个带有count的隐藏变量。这比在html中编写If循环逻辑更好吗?

HTML

<div class="show <%=CSSClass %>">  value </div>

代码

public string CSSClass
            {
                get
                {
                    if (count > 1) return "bright";

                    else if (count == 0)
                        return "normal";

                    return "dim";
                }
            }

3 个答案:

答案 0 :(得分:1)

这是一个很好的做法。我会坚持下去。如果你想用jQuery做,你可以将count服务器端属性暴露给客户端,并在客户端上执行相同的逻辑。但请注意,因为这是在客户端上完成的,所以在页面呈现并且jQuery代码分配了正确的类名后可能会有一些延迟,因此当应用实际的CSS类时,您可以观察到闪烁到客户端的DOM元素。

答案 1 :(得分:0)

类名是完全有效的方法,因此您在服务器上执行此操作的方法也是如此。

答案 2 :(得分:0)

如果您尝试使用MVC方法,则不需要这样做。

MVC中的要点是确保您的视图中没有商务逻辑,并且由于这种类型的逻辑似乎很复杂,我会将if放在页面中。

除非你要使用这个很多,否则这可能不是一个坏主意。