ASP.Net Checkbox值在回发错误?
发布时间:2020-05-23 15:41:32 所属栏目:asp.Net 来源:互联网
导读:我们有一个初始禁用和检查的复选框。然后在客户端通过javascript启用它。如果用户然后取消选中该框并按下按钮来调用回发,则复选框的状态将保持在服务器端的检查状态。这显然是不良行为。这是一个例子。 %@ Page Language=C# AutoEventWireup=true CodeBehind
|
我们有一个初始禁用和检查的复选框。然后在客户端通过javascript启用它。如果用户然后取消选中该框并按下按钮来调用回发,则复选框的状态将保持在服务器端的检查状态。这显然是不良行为。这是一个例子。 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testcb.aspx.cs" Inherits="ESC.testcb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript">
function buttonClick() {
var cb = document.getElementById('<%= CheckBox1.ClientID %>');
cb.disabled = false;
cb.parentNode.disabled = false;
}
</script>
<div>
<asp:CheckBox ID="CheckBox1" runat="server" Checked="true" Enabled="false" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="buttonClick(); return false;" />
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="button2Click" />
</div>
</form>
</body>
</html>
和服务器端代码: using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ESC
{
public partial class testcb : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
}
protected void button2Click(object sender,EventArgs e)
{
string h = "";
}
}
}
所以我们在“string h”行中断,并检查CheckBox1.Checked的值。这是真的,即使它在表单上未被选中。 解决方法这是ASP.NET的一个已知问题 – 由于某些原因ASP.NET将不会更新回发的复选框,如果在页面加载期间被禁用并且没有检查回发。我不知道为什么是这样的 – 如果您在默认情况下取消选中该复选框,并选择它,则该值在服务器上正确更改。解决方法是将一个隐藏的字段添加到表示复选框状态的页面中,然后将该字段的值更新为“ON”或“OFF”,例如,每当点击复选框。 然后在服务器上检查隐藏字段的值,而不是复选框本身,因为隐藏字段始终发布。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在asp.net mvc中生成javascript文件
- asp.net – PostbackUrl vs NavigateUrl
- asp.net-mvc-3 – 如何修复此MVC网站错误:无法加载文件或程
- asp.net – 如何在Azure网站上禁用SSL v 3.0
- asp.net-mvc – 如何在razor(CSHTML)中设置contenttype?
- ASP.NET Ajax回发突然停止在IPhone / IPad上
- asp.net-mvc – 可以在运行时更改数据注释吗? (ASP.NET MV
- asp.net-mvc-3 – 在Razor中加入文本变量
- asp.net – DNN vs Composite C1 – Pro and Cons
- asp.net – ASP计数器 – 不同计数器“桶”中类似命名的计数
推荐文章
站长推荐
- 授权 – ASP.NET Web API基本身份验证授权标头
- asp.net-mvc – 在应用程序池回收后,如何预热我的
- asp.net-mvc-2 – ASP.NET MVC 2并列为隐藏值?
- asp.net-mvc – 数以千计的重定向不好SEO?
- 基于声明的身份 – 在asp.net MVC5 EF6中使用流畅
- asp.net-mvc – 如何使用asp.net mvc razor在视图
- asp.net – 在设置了控件的选定值后运行Javascri
- asp.net-mvc-3 – ASP.NET MVC 3中ViewBag.Title
- asp.net-mvc – 错误处理在asp.net mvc 3
- asp.net – 如何快速进行HTML渲染
热点阅读
