首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Checkbox loose it status on buttonclick事件

Checkbox loose it status on buttonclick事件
EN

Stack Overflow用户
提问于 2013-06-20 15:36:38
回答 2查看 113关注 0票数 0

我已经创建了一个我想要的web page.In,当用户在文本框中输入超过0个字符时,复选框应该会得到selected.In按钮单击事件如果复选框被选中,则打印一些东西。当用户输入超过0个字符时,复选框get checked.But When user click按钮,此时它显示checkbox.checked = false.Why,这样呢?

在aspx页面中

代码语言:javascript
复制
 <script language="javascript" type="text/javascript">
    function displaycharcount()
    {
      if(document.getElementById('TextBox1').value.length   > 0)
      document.getElementById('CheckBox1').checked = true;
    }
    </script>

//
//textbox
//checkbox
// button

//在cs文件中

代码语言:javascript
复制
 protected void Page_Load(object sender, EventArgs e)
    {

        TextBox1.Attributes.Add("onkeyup", " return displaycharcount()");
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (CheckBox1.Checked == true)
        {
            Response.Write("Printing .......");
        }
    }
EN

回答 2

Stack Overflow用户

发布于 2013-06-20 15:44:17

因为当您从c#服务器端代码访问CheckBox1.Checked的值时,它会从视图状态中获取该值。当您从javascript客户端代码更新CheckBox的checked属性时,它不能更新该视图状态。这就是为什么你在按钮点击事件中得到checkbox.checked = false的原因。

票数 0
EN

Stack Overflow用户

发布于 2013-06-20 15:45:01

这是因为您在javascript中设置了checkbox属性,这是客户端代码,而调用按钮单击是服务器端代码。

我建议您使用隐藏字段,并在选中/取消选中复选框时设置其值。

在server side on button中,单击选中此隐藏字段的值,而不是复选框,然后继续。

我没有张贴代码,我让你先尝试这种方法,如果发现任何困难,我们可以帮助你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17207843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档