码输入是一种常用的控件,我记得第一次看见这种控件是在Visual FoxPro中!感觉功能强,不错。现在用C#开发ASP.NET应用程序也需要用到这种输入的控件,便琢磨着自己做一个。但是由于Visual FoxPro中的掩码文本框功能太强了,一时还不敢去做。网上也有一些自制的如:http://www.weste.net/2004/11-25/09162561988.html,但是感觉功能都不很适合。后来在http://www.stedy.com上看到了他们做的掩码文本框,感觉这种方式在Web应用上很适合,就把客户端代码down下来了!(stedy software 作的是产品,要花钱!而且很贵79.99USD,ft。)
分析了一下stedy的客户端脚本(VBScript)他们为每一种掩码规则都作了一个客户端的方法。如下面是日期掩码格式化的客户端脚本代码:
function maskDate(sValue, sType)
dim zMonth
zMonth = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
if len(trim(sValue)) = 0 then
maskDate = ""
setViewState false
elseif not(isDate(sValue)) then
maskDate = "# INVALID DATE ENTERED #"
setViewState true
else
select case (sType)
case "medium"
maskDate = day(dateValue(sValue)) & "-" & left(zMonth(month(dateValue(sValue)) - 1), 3) & "-" & year(dateValue(sValue))
case "long"
maskDate = zMonth(month(dateValue(sValue)) - 1) & " " & day(dateValue(sValue)) & ", " & year(dateValue(sValue))
case else
maskDate = formatDateTime(sValue, vbShortDate)
end select
setViewState false
end if
end function
可以看到处理方式是将文本框中的字符串格式化,如果格式化成功则显示为格式化后的字符串,否则显示"# INVALID DATE ENTERED"。其他的方法与之类似,像maskCurrency, maskSSN什么的。
MaskTextBox客户端有两个自定义属性
<PUBLIC:property name="maskType" value="" />
<PUBLIC:property name="realValue" value="" />
第一个是掩码格式,第二个是文本框真实值,如:¥30.00真实值为:30.00。
目前遇到的问题有一个:
客户端的文本框如何才能回传给服务器上面所说的两个属性?
想了半天,觉着还是用一个Hidden类型的控件储存掩码文本框的真实值。这样回传给服务器的时候就能通过对应的Hidden控件的Value属性取得真实值!
C# 代码片段如下:
protected override void Render(HtmlTextWriter output)
{
output.WriteBeginTag("input");
output.WriteAttribute("type","hidden");
output.WriteAttribute("value","");
output.WriteAttribute("id","__"+this.UniqueID);
output.WriteAttribute("name","__"+this.UniqueID);
output.Write(HtmlTextWriter.TagRightChar);
base.Render(output);
}
分享到:
相关推荐
在C#编程中,掩码文本框(MaskedTextBox)是一个非常实用的控件,它允许用户按照预定义的格式输入数据,例如电话号码、日期、时间等。在本主题中,我们将深入探讨如何设置C#中的掩码文本框的掩码属性以及相关的源...
3. **掩码文本框(MaskedTextBox)** - `System.Windows.Forms.MaskedTextBox` 提供预定义的格式化输入,如电话号码、日期等。 - `Mask` 属性定义输入格式,如 "###-###-####" 用于美国电话号码。 - `PromptChar`...
总之,掩码文本框在C# WinForm开发中起到了重要的作用,它简化了用户界面的设计,确保了用户输入数据的一致性和有效性。熟练掌握其使用方法和特性,能帮助开发者构建更加健壮和用户友好的应用程序。通过合理设置属性...
在"实例7 如何使用掩码格式化文本框.rar"的源代码中,开发者可能演示了如何创建一个掩码文本框,并且针对不同掩码类型进行了举例,比如日期、时间或者电话号码等。通过运行并分析这些示例代码,你可以更深入地了解...
设置掩码文本框掩码属性,C#源代码 //身份证号码this.maskedTextBox1.Mask = "000000000000000000"; //电话号码 this.maskedTextBox2.Mask = "9000-00000099"; //手机号码 this.maskedTextBox3.Mask = ...
4. **Android**:在Android开发中,可以使用`MaskedEditText`第三方库,或者通过自定义`TextWatcher`监听输入并手动处理掩码: ```java MaskedEditText maskedEdit = findViewById(R.id.masked_edit); maskedEdit...
通过以上描述,我们可以看到"C# IP地址输入控件"的实现涉及了控件设计、事件处理、数据验证、用户交互等多个方面,是C# Winform开发中的一个实用技巧。通过这个控件,我们可以提供更加直观、准确的IP地址输入方式,...
标题“WPF可掩码文本框,用于数值”指出,这里介绍的是一个定制的TextBox控件,它扩展了标准的WPF TextBox功能,仅允许用户输入整数或浮点数。这种类型的控件对于处理财务数据、统计数据或其他需要精确数值输入的...
C#各类控件的输入输出(思维导图、知识点分析、案例解析) C#控件是编程语言C#中的一个重要组件,用于在Windows Forms应用程序中创建图形用户界面。控件是用户界面的基本组成部分,提供了与用户交互的方式。C#控件...
* Mask:设置文本框的掩码。 * Text:获取或设置文本框中的文本内容。 MaskedTextBox控件可以用来输入特定格式的文本,是C#中非常常用的控件之一。 五、BindingSource组件 BindingSource组件是C#中一种数据绑定...
最后,为了构建一个完整的C#应用程序,我们可以使用Visual Studio(例如2022版本),创建一个Windows Forms应用项目,设计用户界面,包括输入IP地址和子网掩码的文本框,以及显示结果的区域。然后将以上代码逻辑整合...
"jQuery整数(数字)输入(文本框)掩码"就是一种技术,它允许我们创建一个文本框,用户只能在其中输入整数或数字,而其他非数字字符则会被屏蔽或自动移除。 首先,我们需要引入jQuery库。jQuery是一个强大的...
在C# WinForm应用开发中,TextBox控件是不可或缺的一部分,它用于接收用户输入的数据。在实际项目中,我们往往需要对TextBox控件的输入内容进行一定的控制,以确保数据的有效性和安全性。以下是对"C# TextBox控件的...
基于winform自定义文本框,可以限制用户输入浮点数、整数、字母和数字以及任意字符并且有相应的水印文字提示。增加最大值和最小值以及最大可输入的文本长度属性限制用户输入,当输入有误时,有相应的出错提示。
本主题聚焦于"format-by-mask.rar_mask Format",这是一个使用C#编写的程序,其核心功能是按照预设的掩码(Mask)格式来填充控件内容,尤其适用于文本输入的规范和格式化。掩码格式化是编程中一个实用的功能,常用于...
这个自定义控件通常包含四个文本框,分别用于输入每个十进制段的值,并且可能包含验证逻辑,确保输入的地址符合IPv4格式。以下步骤概述了创建这样一个控件的过程: 1. 创建一个新的C# Windows Forms控件库项目。 2....
在C#中,我们可以使用Windows Forms来创建这个界面,包括输入用户名和密码的文本框、登录按钮以及可能的安全特性,如密码显示掩码。登录验证通常涉及数据库查询,以确保提供的凭证与存储的匹配。C#提供了丰富的ADO...
"C#轻松学习例子源码"集合提供了一系列的示例,涵盖了对话框的使用、掩码格式的应用以及其他控制元素的操作,旨在帮助初学者和有经验的开发者更好地理解和运用C#中的关键特性。 首先,让我们详细探讨对话框的使用。...
这可以通过在文本框中输入关键词,然后遍历ListView项,对内容进行匹配,高亮显示匹配项来实现。 此外,为了确保程序的稳定性和兼容性,我们需要处理可能出现的异常情况,比如网络接口未启用或不存在的情况。我们...
当用户在文本框中输入时,这些数据并未立即发送到任何地方,而是存储在控件的属性中。例如,txtUsername.Text会返回当前输入的文本。当我们处理按钮点击事件时,可以从这些属性中读取数据,这就是数据传递的一部分。...