我在html中有一个表,在该表中有多行'tr', 在每一行内有多个列'td'。
我需要在两个td之间进行更改以显示特定行。
我在aspx文件中指定了它们,如下例所示。
<div id="DirCaDiv1" runat="server" visible="false">
<td class="heading4" align="left" style="width: 21%" id="DirAreaDiv_Text" runat="server" >
Dir.Área: </td>
</div>
<div id="DirBaDiv1" runat="server" visible="false">
<td class="heading4" align="left" style="width: 21%" id="DirCoordDiv_Text" runat="server" >
Dir.Coord.: </td>
</div>
在我的aspx文件中,我有一个组合框事件(combobox_changed),它改变了每个div的可见性。 它将一个DirCaDiv1.visible =“false”和另一个DirBaDiv1.Visible =“true”
但是我不知道为什么,它不起作用,我改变了在使用该事件的另一个组合框中选择的项目, 没有任何反应......
提前多多谢谢;)
答案 0 :(得分:3)
实际上是因为可见属性是bool而不是字符串所以不使用“true”或“false”而是使用DirCaDiv1.Visible = true;
另见
http://msdn.microsoft.com/en-us/library/system.web.ui.control.visible(v=vs.100).aspx
答案 1 :(得分:0)
<div runat="server" visible='<%# (Eval(condition)) ? true : false %>'></div>
对我有用
答案 2 :(得分:0)
我遇到了类似的问题,我无法将div
元素设置为(divSomeName.Visible=true;)
,这让我困惑了一段时间。然后,我发现原因在于父元素,Visible
属性设置为false
。我通过将div
元素移出隐形父元素来解决我的问题。
答案 3 :(得分:0)
意识到这是一个非常旧的问题......
首先,HTML严重受损,您不能将div
作为td
的父级。
第二次,检查OnPageLoad
事件是否未设置组合框,从而更改所选值。任何初始化都应该在if(!IsPostback){/*Do Your Stuff here*/}
我将设置文字控件的文本,这将确保不会向页面呈现其他HTML。请注意,没有div
且只有一个td
。这是件好事!或者,您可以直接设置TD的innerText
或innerHtml
<强> ASPX 强>
<td class="heading4" align="left" style="width: 21%" id="DirLoc_Text" runat="server" >
<asp:Literal runat="server" id="litLocText" />:
</td>
在Combobox事件处理程序中隐藏C#代码
litLocText.Text = comboBox.value == [your condition] ? "Dir.Área" : "Dir.Coord";