背景说明:
在一个项目中,测试人员曾反映,一个注册页面,当提交注册的时候,提示必填项不能为空,于是根据提示填上所需信息,结果总是提示“密码、确认密码不能空”!密码早就填啦,怎么还报错?!如此反复,该同事恼火了,要开发人员马上解决这个Bug!!不然后面的功能没法测试。
问题分析:
1、其实,该注册页面,除了用户名、密码外,还有不少必填项,需要滚动条才能看到底部的提交按钮。
2、提交前会进行验证,包括客户端和服务器端验证。客户端采用JS统一进行非空验证;服务器端采用验证控件进行正则验证,例如格式、长度、范围等。
3、若必填项为空,则客户端JS只弹一次窗口,统一提示哪些项不能为空。(服务器端则不验证,减轻负担)
4、由于该注册页面基本上采用了Web控件,于是问题来了。当前端JS弹出提示信息后,TextBox控件,在Password模式下(TextMode="password"),会自动清空显示值。
5、结果,就出现文章开头的情况了。
解决方案:
一开始,没想到简洁的解决法,用JS把密码先保存在隐藏字段再赋值吧,还是不行。
网上搜好久,遇到类似问题的童鞋还真不少,就是没有有效的解决方案。但有个童鞋则自己想出了解决方法,赞一个!
(原文见:http://heiyelidexingxing.blog.163.com/blog/static/3157821120086153610519/)
关键代码如下:
//说明:TextBox1.Attributes["value"]="123456789";可给TextBox赋值。
//在TextBox的OnTextChanged事件中,添加
this.TextBox1.Attributes["value"] = this.TextBox1.Text;
//或
this.TextBox1.Attributes["value"] = Request.Form[TextBox1.ClientID];
//即可。
//为稳妥起见,设置onpaste="return false" oncut="return false" 让TextBox不可以粘贴、复制。
分享到:
相关推荐
以上就是如何在C#中使用事件和委托在TextBox控件中实时显示日志的基本步骤。实际应用中,你可能还需要考虑线程安全问题,特别是当日志更新发生在非UI线程时。在这种情况下,可以使用`Control.BeginInvoke`或`Control...
综上所述,实现C#中的TextBox控件透明主要涉及Windows Forms和WPF两种框架下的不同实现方式。虽然Windows Forms实现起来相对复杂,但通过自定义控件和处理父容器的Paint事件,也可以实现类似的效果。而在WPF中,由于...
在Windows Forms开发中,TextBox控件是不可或缺的一部分,它用于接收和显示文本输入。下面将详细介绍TextBox控件的使用方法,以及如何遍历WinForm页面中的TextBox控件,并实现一些基本的功能,如设置文本、限制输入...
TextBox 控件是 Winform 中最基本和最常用的控件之一,用于显示文本或输入文本。下面是 TextBox 控件的主要属性和使用方法: 1. Text 属性:该属性是 TextBox 控件最重要的属性,用来显示文本框中的文本内容。可以...
C# 清空界面控件值技巧 C# 清空界面控件值技巧是指在 WinForm 应用程序中,清空界面控件值的方法。这种技巧可以重用,不需要每个窗体都编写枯燥、无聊的代码。下面我们将详细介绍这种技巧。 清空界面控件值的需求 ...
在本文中,我们将深入探讨如何在C# Winform应用程序中创建一个背景透明的TextBox控件。这个主题主要涉及C#编程语言,Windows Forms(Winform)框架,以及自定义控件开发。 首先,"C#Winform透明Textbox控件"指的是...
4. **CompareValidator控件**:此控件可比较TextBox输入值与其他控件的值,或者与固定值进行比较,确保输入符合预期范围,如年龄、日期等。 5. **RequiredFieldValidator控件**:确保TextBox字段非空,如果用户未...
### js获取ASP.NET服务器端控件Label,TextBox,RadioButtonList,DropDownList的值 在Web开发中,JavaScript经常被用来增强用户体验,实现页面的动态效果。对于基于ASP.NET的项目而言,开发者通常需要通过JavaScript...
IP模式的TextBox控件通过添加额外的逻辑来解决这个问题。首先,它会实时监控用户的输入,当用户输入一个数字后,会自动跳转到下一个字段,这样可以确保IP地址始终按照四段八位的形式输入。其次,它会检查每个字段的...
ASP.NET 是微软开发的一种用于构建Web应用程序的框架,它提供了丰富的服务器控件,方便开发者创建交互式的网页。在ASP.NET中,TextBox控件是用于用户输入文本的基本元素,但有时我们需要用户输入敏感信息,如密码,...
默认情况下,TextBox控件的回车键可能不会触发任何服务器端事件,因为浏览器通常会将回车键视为表单的提交按钮。为了在回车键被按下时执行服务器端代码,我们需要进行一些额外的配置。 1. **添加服务器端事件**:在...
为了解决这个问题,我们可以实现一个延迟触发TextChanged事件的TextBox控件。 在标题和描述中提到的"延迟了TextChanged事件的TextBox文本框控件"是指一种优化策略,它不会在每次用户输入时立即触发事件,而是等待...
在标题“winform下TextBox只显示一条直线自定义控件源码”中,提到的是一个特殊的TextBox控件,它仅显示一条直线,而非常规的矩形边框。这通常是为了追求更简洁、现代的UI设计。以下将详细解析这个自定义控件的设计...
本篇文章将深入探讨如何在C#中实现动态生成TextBox控件,并实现它们的自动排列。 首先,我们要理解动态生成控件的基本概念。在.NET Framework的Windows Forms环境中,我们可以通过编程方式创建控件,而不是在设计...
在TextBox中,"GotFocus"事件可用于初始化某些状态,比如高亮选中所有文本,或者显示提示信息。 以下是使用这两个事件的基本示例代码: ```csharp // 对于TextBox控件,假设名为textBox1 textBox1.LostFocus += ...
5. **事件处理**:TextBox控件有多个事件可供编程者利用,如`TextChanged`事件(文本内容改变时触发)、`KeyDown`和`KeyUp`事件(键盘按键按下和释放时触发)、`LostFocus`事件(TextBox失去焦点时触发)等,这些...
1. **服务器端代码**:在服务器端,可能需要在TextBox控件加载时设置一个特定的属性,比如`AutoSelectText`(假设这是一个自定义属性),以便客户端知道应该进行自动选择。 2. **客户端脚本**:在页面的HTML输出中...
LabelTextbox复合控件是一种在软件开发中常见的自定义组件,特别是在UI设计中,它结合了Label和TextBox两种基本控件的功能。Label通常用于显示固定文本,而TextBox则用于用户输入文本。通过将这两种控件组合成一个...
引子: 在ASP.Net页面中textbox的index为1(或n),其后的提交按钮index为2(n+1),光标在textbox中,回车后自动焦点移动到后面的button上,会触发button的点击事件。 但在Lyncplus客户端中访问Web页面时遇到了TextBox...
另一种方式是在服务器端的`PageLoad`事件中,通过设置`TextBox`控件的`Attributes`来添加客户端脚本,如下所示: ```html function EnterTextBox(button) { if (event.keyCode == 13 && document.all["TextBox1...