我的代码如下:
<fieldset id="preFacts">
<div id="divstructures" runat="server" style="width: 100%;">
<div id="divleft" runat="server" style="width: 48%; float:left">
<label>Desk:</label>
<asp:TextBox ID="txtDesk" runat="server"> </asp:TextBox>
<label>Desk2:</label>
<asp:TextBox ID="txtDesk2" runat="server"> </asp:TextBox>
</div>
<div id="divright" runat="server" style="width: 48%; float:right">
<label>Desk3:</label>
<asp:TextBox ID="txtDesk3" runat="server"> </asp:TextBox>
<label>Desk4:</label>
<asp:TextBox ID="txtDesk4" runat="server"> </asp:TextBox>
</div>
</div>
</fieldset>
CSS:
fieldset#preFacts label
{
width: 20em;
}
现在在c#中如果condition = true我想显示divright(新控件)以及divleft(现有控件)或者如果condition = false那么我想显示divleft(现有控件)总是在中心使用上面的css(fieldset# preFacts标签)。
如果在c#(动态)中条件为真,我如何设置宽度:10em;(fieldset #prefacts label),以便两个div都能正确显示左右。
答案 0 :(得分:1)
fieldset不是控件,而是HTML标记。你可以使用
<fieldset id="preFacts" runat="server">
使ASP.NET可以看到它。 您可以在加载页面时实现多视图或在代码隐藏中设置CSS。
此外,您可以在代码隐藏中使用divright
并将其样式设置为display:none;
当您的条件满足时。见https://www.google.com/url?sa=t&source=web&rct=j&url=https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.style(v%3Dvs.110).aspx&ved=0CB8QFjABahUKEwjptP3HlcfHAhWG1RoKHclpDV8&usg=AFQjCNEJS7adTj2Jh1eFqMPU0IcmOa8qNw
然而,您可能会考虑将您的意图从服务器端代码移开。通过客户端代码处理您的需求是目前更好的方法。