2011-09-27 23 views
0

后的变化: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事件导致像它应该回传,在这occassion它会检查,如果用户在选择用户名可用。

如果它可用显示一个勾号,如果它不是错误。

我得到了错误的工作,并试图编程客户端的刻度。

所以OnClientClick我可以在一些文本和勾号之间切换。所以,我需要:

  • 从代码获取布尔结果背后
  • 回发保持打勾后(如果用户名可用)

我几乎有,但不能完全弄清楚的最后两个指出。

+1

您需要使用AJAX。 – SLaks

+3

请不要在标题中加入“C#Asp.Net Javascript”之类的东西。这就是标签的用途。如果在开始谈论之前必须忽略前三个单词,您只能成功地使您很难理解您的标题。 –

+0

所以我在代码周围添加了updatepanel,这会停止实际的回发并创建部分回发,所以现在我只能在代码后面进行切换? – Anicho

回答

1

如果你在你的页面上,使用一个UpdatePanel,并假定DIV您试图切换的内容在控件之外,您可以随时在部分回传中注入JavaScript:

就像例如在您的按钮的点击事件上执行部分回发打电话给ScriptManager.RegisterClientScriptBlock() - >How to retain script block on a partial postback?

或者,您可以附加一个结束请求处理程序。这是一些JavaScript应该在部分回发后运行。 - >ASP.NET Register Script After Partial Page Postback (UpdatePanel)

+0

我不需要做更多的事情,然后使用UpdatePanel,我之前没有这样做。谢谢您的回答。 – Anicho

0

这两个问题的答案都在于检查从后面的代码发送的布尔值。

1-----.in代码隐藏C#

保护无效的Page_Load(对象发件人,发送System.EventArgs) {

VAR linkbtn =(按钮)Page.FindControl(“lbtnDiv1 “);

linkbtn .Attributes。添加(“onClick”,“Show_Hide_Display('”+ parameter +“')”);

}

2 -------改变你的JavaScript

功能Show_Hide_Display(参数)

{

如果(paramater == '真'){

----你的逻辑---

}

其他

{

----你的逻辑

}

}