Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取变量&;回发后保留更改_C#_Javascript_Asp.net_Html - Fatal编程技术网

C# 获取变量&;回发后保留更改

C# 获取变量&;回发后保留更改,c#,javascript,asp.net,html,C#,Javascript,Asp.net,Html,这个问题涉及: 我遇到的问题是,在asp.net的回发事件发生后,单击任何客户端所做的更改重置如何保留所做的客户端更改 第二个问题是如何从代码隐藏中获取变量并将其传递到javascript中以执行比较 Html: Javascript: <script type="text/javascript"> function Show_Hide_Display() { var div1 = document.getElementById("<%=someDiv1.Cli

这个问题涉及:

我遇到的问题是,在asp.net的回发事件发生后,单击任何客户端所做的更改重置如何保留所做的客户端更改

第二个问题是如何从代码隐藏中获取变量并将其传递到javascript中以执行比较

Html:


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>

函数Show\u Hide\u Display(){
var div1=document.getElementById(“”);
var div2=document.getElementById(“”);
if(div1.style.display==“”| | div1.style.display==“块”){
div1.style.display=“无”;
div2.style.display=“块”;
}
否则{
div1.style.display=“块”;
div2.style.display=“无”;
}
}    
OnClick事件会导致回发,在这种情况下,它会检查所选用户名是否可用

如果可用,则显示勾号,如果不是错误

我得到的错误工作,并试图在客户端程序的勾号

因此,一旦ClientClick,我就可以在一些文本和勾号之间切换。因此,我需要:

  • 从代码隐藏中获取bool结果
  • 回发后保留勾号(如果用户名可用)

我就快到了,但不能完全理解最后两点。

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

1-----在c后面的代码中#

受保护的无效页面加载(对象发送方,System.EventArgs e) {

var linkbtn=(按钮)Page.FindControl(“lbtnDiv1”)

linkbtn.Attributes.Add(“onClick”、“Show\u Hide\u Display(““+”参数+”)”)

}

2------更改您的javascript

功能显示\隐藏\显示(参数)

{

如果(参数=='true') {

----你的逻辑---

}

否则

{

----你的逻辑

}


}

如果您在页面中使用UpdatePanel,并且假设您尝试切换的div不在控制范围内,则始终可以在部分回发中插入javascript:

例如,在部分回发时执行的按钮单击事件上,调用
ScriptManager.RegisterClientScriptBlock()
-->


或者,您可以附加一个结束请求处理程序。这是一些javascript,应该在部分回发之后运行。-->

请不要在标题中添加“C#Asp.NETJavaScript”之类的内容。这就是标签的用途。如果我必须在开门见山之前忽略前三个词,你只会让你很难理解你的标题。因此我在代码周围添加了updatepanel,这会停止实际的回发并创建部分回发,那么现在我可以在代码隐藏中进行切换了吗?@JohnSaunders+1谢谢你的评论,谢谢你的建设性批评我将在将来避免使用UpdatePanel。我不需要再做任何事情,而只需要使用UpdatePanel,这是我以前没有做过的。谢谢你的回答。
<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>