【发布时间】:2011-09-27 15:32:04
【问题描述】:
此问题与:Hide div on clientside click
我遇到的问题是,在来自 asp.net 的回发事件发生后 onClick 任何客户端更改已重置,我如何才能保留我正在进行的客户端更改。
第二个问题如何从后面的代码中获取变量并将其传递到我的 javascript 以执行比较。
HTML:
<div runat="server" id="someDiv1" enableviewstate="true" >
<asp:LinkButton OnClientClick="Show_Hide_Display()"
ID="lbtnDiv1"
runat="server"
CausesValidation="true"
OnClick="lbtn_onClickServer">
</asp:LinkButton>
</div>
<div runat="server" class="tick" id="div2" style="display:none;" enableviewstate="true">
</div>
Javascript:
<script type="text/javascript">
function Show_Hide_Display() {
var div1 = document.getElementById("<%=someDiv1.ClientID%>");
var div2 = document.getElementById("<%=div2.ClientID %>");
if (div1.style.display == "" || div1.style.display == "block") {
div1.style.display = "none";
div2.style.display = "block";
}
else {
div1.style.display = "block";
div2.style.display = "none";
}
}
</script>
OnClick 事件会引起应有的回发,在这种情况下,它会检查用户选择的用户名是否可用。
如果可用,则显示勾号,如果不是错误。
我得到了错误,正在尝试在客户端对刻度进行编程。
所以 OnClientClick 我可以在一些文本和刻度之间切换。所以我需要:
- 从后面的代码中获取布尔结果
- 回发后保持勾选(如果用户名可用)
我快到了,但不能完全弄清楚最后两点。
【问题讨论】:
-
请不要在标题中添加“C# Asp.Net Javascript”之类的内容。这就是标签的用途。如果我必须在进入重点之前忽略前三个单词,你只会成功地让你的标题难以理解。
-
所以我在代码周围添加了更新面板,这会停止实际的回发并创建部分回发,所以现在我可以在后面的代码中进行切换?
-
@JohnSaunders +1 您的评论感谢您的建设性批评。 :) 我以后会避免的。
标签: c# javascript asp.net html