此问题与:Hide div on clientside click
有关我遇到的问题是,在asp.net的回发事件发生后,点击任何客户端更改,重置我如何保持客户端的更改。
第二个问题我如何从代码中获取变量并将其传递给我的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我可以在一些文本和刻度之间切换。所以我需要:
我几乎在那里,但不能完全理解最后两点。
答案 0 :(得分:1)
如果您在页面中使用UpdatePanel,并假设您尝试切换的div不在控件之外,则可以始终在部分回发上注入javascript:
例如在按钮的点击事件上,在部分回发上执行,调用ScriptManager.RegisterClientScriptBlock()
- &gt; How to retain script block on a partial postback?
或者,您可以附加结束请求处理程序。这是一些应该在部分回发后运行的javascript。 - &GT; ASP.NET Register Script After Partial Page Postback (UpdatePanel)
答案 1 :(得分:0)
这两个问题的答案在于检查从后面的代码发送的布尔值。
1 -----。在代码隐藏c#
中protected void Page_Load(object sender,System.EventArgs e) {
var linkbtn =(Button)Page.FindControl(“lbtnDiv1”);
linkbtn .Attributes.Add(“onClick”,“Show_Hide_Display('”+ parameter +“')”);
}
2 -------更改你的javascript
功能Show_Hide_Display(参数)
{
if(paramater =='true') {
----你的逻辑---
}
否则
{
----你的逻辑
}
}