Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
禁用按钮Javascript和C#_C#_Javascript_Asp.net - Fatal编程技术网

禁用按钮Javascript和C#

禁用按钮Javascript和C#,c#,javascript,asp.net,C#,Javascript,Asp.net,我的代码中有一个调用,看起来像: bool isQtyValid = true; bool disabled = false; foreach(parameters) { //setting isQtyValid if (!isQtyValid) disabled = true; Page.ClientScript.RegisterStartupScript(this.GetType(), "function", string.Format("SetBut

我的代码中有一个调用,看起来像:

bool isQtyValid = true;
bool disabled = false;
foreach(parameters)
{
    //setting isQtyValid
    if (!isQtyValid)
        disabled = true;
    Page.ClientScript.RegisterStartupScript(this.GetType(), "function", string.Format("SetButtonStatus('{0}')", disabled.ToString().ToLower()), true);
}
然后我的javascript看起来像:

function SetButtonStatus(disabled) {
    var bb = document.getElementsByClassName('ButtonSubmit');
    for (var i = 0; i < bb.length; i++) {
            bb[i].disabled = disabled;
    }
}
功能设置按钮状态(禁用){
var bb=document.getElementsByClassName('ButtonSubmit');
对于(变量i=0;i
出于某种原因,这只会以一种方式起作用。如果设置为disabled=true,则不会返回到启用状态,如果设置为disabled=false,则不会返回到禁用状态。我已经查看了变量,看看它是否被设置正确,它确实会在应该的时候从true变为false,从false变为true,但它不会改变按钮的禁用状态

我错过了你能看到的任何小东西吗


谢谢您能给我的任何帮助。

我检测到的第一件事是您正在将布尔值作为字符串传递

试着替换

"SetButtonStatus('{0}')" // <-- SetButtonStatus('true')

“SetButtonStatus('{0}')”//是
您的真实代码中不存在键入错误?
函数SetButtonStatus(!isQtyValid)
是的,我已使用更具描述性的代码视图进行了更新。在什么条件下可以更改状态?如果以异步方式(即ajax)更改状态,则注册启动脚本的后续调用将永远不会运行,因为这只会在页面加载时发生,而不会在部分回发时发生。这是webforms应用程序吗?检查isQtyValid是否在表单提交单击之类的事件上?叮叮叮叮,这解决了问题,感谢您指出!
"SetButtonStatus({0})" // <-- SetButtonStatus(true)