Dav*_*het 3 javascript c# asp.net
我有一个带有style ="display:none"的div.按下html按钮时div应该可见:
function JSAdd() {
document.getElementById('divDetail').style.display = "block";
}
<div style="float:left">
<div id="ctl00_MainContent_upnlLbRD">
<select size="4" name="ctl00$MainContent$lbRD" id="ctl00_MainContent_lbRD" style="width:188px;">
<option value="5">one</option>
<option value="1">two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
<input id="btnAdd" type="button" value="????????" onclick="JSAdd();" />
<input id="btnEdit" type="button" value="?????????????" onclick="JSEdit();" />
</div>
<div id="ctl00_MainContent_divDetail" style="display:none" clientidmode="static">
<div id="ctl00_MainContent_upnlDescription">
<div>
<span id="ctl00_MainContent_lblDescription">????????:</span>
<input name="ctl00$MainContent$txtDescription" type="text" id="ctl00_MainContent_txtDescription" />
<span id="ctl00_MainContent_txtDescriptionRequiredFieldValidator" style="color:Red;visibility:hidden;">???????? ???????? ???????????? ??? ??????????</span>
</div>
<input type="submit" name="ctl00$MainContent$btnSave" value="?????????" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$btnSave", "", true, "", "", false, false))" id="ctl00_MainContent_btnSave" />
Run Code Online (Sandbox Code Playgroud)
我需要能够从代码隐藏中再次使div不可见.我不能访问div,除非它是runat="server".但是当我添加runat ="server"时,从上面的javascript函数按下按钮时div不会显示.你能帮帮我吗?
谢谢,
大卫
您可以通过添加runat="server"属性来访问代码隐藏中的div .添加此属性确实会改变您在JavaScript中访问元素的方式:
var el = document.getElementById("<%=div1.ClientID%>");
if (el){
el.style.display = "none"; //hidden
}
Run Code Online (Sandbox Code Playgroud)
有两种方法可以从代码隐藏中调整可见性,但由于您使用display:noneJavaScript进行设置,因此您可能希望在代码隐藏中使用相同的方法:
div1.Style["display"] = "block"; //visible
Run Code Online (Sandbox Code Playgroud)
在代码隐藏中,您还可以将该Visible属性设置为false,但这是不同的,因为它将阻止元素被渲染.
编辑
如果div仍显示display:none存在,则可能在某处影响标记的标记或引用.仔细检查并确保标记有效.
| 归档时间: |
|
| 查看次数: |
28335 次 |
| 最近记录: |