所以我有一个表格两个两个输入,“免费”和“价格”。免费是一个复选框,如果选中此框,则不应显示价格框,如果未选中,则价格框应显示。
我可以轻松挂钩onChecked并在页面加载后切换可见性,但问题是预加载最佳做法。
据我所知,这里有三个主要解决方案: -
设置内联样式以根据起始模型设置可见性,即@(model.Free?“hidden”:“visibile”)这似乎是一种不好的做法,因为不应该是CSS从结构上分离出来,这有点混合两者。
设置一个jQuery处理程序以在加载时触发以检查复选框状态,这种方法的问题是它在发射之前几秒钟就会出现“闪烁”
我遗失的其他一些事情......
有什么建议吗?
答案 0 :(得分:2)
1
大多数css样式最好分成外部样式表,但对于简单的style="display:none;"
,内联样式很好。
此外,从MVC4开始,如果变量为null,Razor将不会呈现该属性。
@{
var displayIt = Model.Free ? "display:none;" : null;
}
<div style="@displayIt">
The above style attribute will not be rendered when displayIt is null
(in MVC4)
</div>