`
- 浏览:
290037 次
-
一个Page页面多个CheckBoxList的客户端验证(.net1.1及2.0实现)(downmoon)
一,基于.net1.1
1、类文件
usingSystem;
usingSystem.Web.UI;
usingSystem.Web;
usingSystem.Web.UI.WebControls;
usingSystem.Text;
namespaceAgrExibition.Common.Framework.Util...{
欢迎与邀月交流,net技术与软件架构2007/07/26#regiondownmoon2007/07/26
/**////<summary>
///一个Page页面多个CheckBoxList的客户端验证(.net1.1实现)(downmoon)
///</summary>
#endregion
publicclassRadioButtonListRequiredFieldValidator:BaseValidator
...{
protectedoverrideboolControlPropertiesValid()
...{
returntrue;
}
protectedoverrideboolEvaluateIsValid()
...{
returnthis.EvaluateIsChecked();
}
protectedboolEvaluateIsChecked()
...{
ListControl_listcontrol=((ListControl)this.FindControl(this.ControlToValidate));
foreach(ListItemliin_listcontrol.Items)
...{
if(li.Selected)returntrue;
}
returnfalse;
}
protectedoverridevoidOnPreRender(EventArgse)
...{
if(this.EnableClientScript)...{this.ClientScript();}
base.OnPreRender(e);
}
protectedvoidClientScript()
...{
this.Attributes["evaluationfunction"]="cb_vefify";
StringBuildersb_Script=newStringBuilder();
sb_Script.Append("<scriptlanguage="javascript">");
sb_Script.Append(" ");
sb_Script.Append(" ");
sb_Script.Append("functioncb_vefify(val){");
sb_Script.Append(" ");
sb_Script.Append("varval=document.getElementById(val.controltovalidate);");
sb_Script.Append(" ");
sb_Script.Append("varcol=val.all;");
sb_Script.Append(" ");
sb_Script.Append("if(col!=null){");
sb_Script.Append(" ");
sb_Script.Append("for(i=0;i<col.length;i++){");
sb_Script.Append(" ");
sb_Script.Append("if(col.item(i).tagName.toUpperCase()=="INPUT"){");
sb_Script.Append(" ");
sb_Script.Append("if(col.item(i).checked){");
sb_Script.Append(" ");
sb_Script.Append(" ");
sb_Script.Append("returntrue;");
sb_Script.Append(" ");
sb_Script.Append("}");
sb_Script.Append(" ");
sb_Script.Append("}");
sb_Script.Append(" ");
sb_Script.Append("}");
sb_Script.Append(" ");
sb_Script.Append(" ");
sb_Script.Append(" ");
sb_Script.Append("returnfalse;");
sb_Script.Append(" ");
sb_Script.Append("}");
sb_Script.Append(" ");
sb_Script.Append("}");
sb_Script.Append(" ");
sb_Script.Append("</script>");
if(!this.Page.IsClientScriptBlockRegistered("RBLScript"))
...{
this.Page.RegisterClientScriptBlock("RBLScript",sb_Script.ToString());
}
}
}
}
2、页面
<%...@RegisterTagPrefix="AgrExibition"Namespace="AgrExibition.Common.Framework.Util"Assembly="AgrExibition.Common.Framework"%>
<asp:CheckBoxListid="cbB_Property"runat="server"RepeatDirection="Horizontal"RepeatColumns="3">
<asp:ListItemValue="1">投资商</asp:ListItem>
<asp:ListItemValue="2">投资促进机构</asp:ListItem>
<asp:ListItemValue="3">代理商</asp:ListItem>
<asp:ListItemValue="4">科研及信息单位协会</asp:ListItem>
<asp:ListItemValue="5">零售商</asp:ListItem>
<asp:ListItemValue="6">批发商</asp:ListItem>
<asp:ListItemValue="7">仓储业</asp:ListItem>
<asp:ListItemValue="8">跨国公司</asp:ListItem>
<asp:ListItemValue="9">进出口商</asp:ListItem>
<asp:ListItemValue="10">生产商</asp:ListItem>
<asp:ListItemValue="11">超市</asp:ListItem>
<asp:ListItemValue="12">酒店</asp:ListItem>
<asp:ListItemValue="13">宾馆及后勤服务</asp:ListItem>
<asp:ListItemValue="-1">其他</asp:ListItem>
</asp:CheckBoxList>
<asp:TextBoxid="txtB_Property"Runat="Server"CssClass="input2"Width="400px"/>
<AgrExibition:RADIOBUTTONLISTREQUIREDFIELDVALIDATORid="rbValid1"Display="Dynamic"ErrorMessage="请选择或输入业务性质!"
runat="server"ControlToValidate="cbB_Property"Text="*">*</AgrExibition:RADIOBUTTONLISTREQUIREDFIELDVALIDATOR>
<br/>
<asp:CheckBoxListid="cbPurpose"runat="server"RepeatDirection="Horizontal"RepeatColumns="3">
<asp:ListItemValue="1">采购产品</asp:ListItem>
<asp:ListItemValue="2">搜集市场信息</asp:ListItem>
<asp:ListItemValue="3">与业务伙伴会面</asp:ListItem>
<asp:ListItemValue="4">了解行业动向</asp:ListItem>
<asp:ListItemValue="5">观看观摩</asp:ListItem>
<asp:ListItemValue="6">投资项目洽谈</asp:ListItem>
<asp:ListItemValue="7">获取行业信息</asp:ListItem>
<asp:ListItemValue="8">寻找供应商或买家</asp:ListItem>
<asp:ListItemValue="-1">其他</asp:ListItem>
</asp:CheckBoxList>
<asp:TextBoxid="txtPurpose"Runat="Server"CssClass="input2"Width="400px"/>
<AgrExibition:RADIOBUTTONLISTREQUIREDFIELDVALIDATORid="rbValid2"Display="Dynamic"ErrorMessage="请选择或输入参会目的!"
runat="server"ControlToValidate="cbPurpose"Text="*">*</AgrExibition:RADIOBUTTONLISTREQUIREDFIELDVALIDATOR>
<asp:ValidationSummaryid="ValidationSummary1"runat="server"ShowMessageBox="True"ShowSummary="False"
HeaderText="请检查输入表单内容:"></asp:ValidationSummary>
二、基于.net 2.0
1、类文件
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Text;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
namespaceShiXun.Commoon.Web.Validor
...{
欢迎与邀月交流,net技术与软件架构2007/07/26#regiondownmoon2007/07/26
/**////<summary>
///一个Page页面多个CheckBoxList的客户端验证(.net2.0实现)(downmoon)
///</summary>
#endregion
[DefaultProperty("ErrorMessage"),ToolboxData("<{0}:ListControlRequiredFieldValidatorrunat=server></{0}:ListControlRequiredFieldValidator>")]
publicclassListControlRequiredFieldValidator:BaseValidator
...{
/**////<summary>
///ValidatorRequirement
///</summary>
///<returns>Trueifdependenciesarevalid.</returns>
protectedoverrideboolControlPropertiesValid()
...{
ControlcontrolToValidate=FindControl(ControlToValidate)asListControl;
return(controlToValidate!=null);
}
/**////<summary>
///ValidatorRequirement
///</summary>
///<returns>trueifControlToValidate
///hasoneitemormoreselected</returns>
protectedoverrideboolEvaluateIsValid()
...{
returnthis.EvaluateIsChecked();
}
/**////<summary>
///Returntrueifaniteminthelistisselected.
///</summary>
///<returns>trueifControlToValidate
///hasoneitemormoreselected</returns>
protectedboolEvaluateIsChecked()
...{
ListControllistToValidate=((ListControl)this.FindControl(this.ControlToValidate));
foreach(ListItemliinlistToValidate.Items)
...{
if(li.Selected==true)
returntrue;
}
returnfalse;
}
/**////<summary>
///PreRender
///</summary>
///<paramname="e"></param>
protectedoverridevoidOnPreRender(EventArgse)
...{
System.Web.HttpContext.Current.Trace.Write("OverrideOnPreRender");
if(this.DetermineRenderUplevel()&&this.EnableClientScript)
...{
Page.ClientScript.RegisterExpandoAttribute(this.ClientID,"evaluationfunction","ListItemVerify");
Page.ClientScript.RegisterExpandoAttribute(this.ClientID,"minimumNumberOfSelectedCheckBoxes","1");
//System.Web.UI.Page.(this.ClientID,"evaluationfunction","ListItemVerify");
//Page.ClientScript.RegisterExpandoAttribute(this.ClientID,"minimumNumberOfSelectedCheckBoxes","1");
//TODO:imporovetoallowvariablenumber.
this.RegisterClientScript();
}
else
...{
this.Attributes.Remove("evaluationfunction");
}
base.OnPreRender(e);
}
/**////<summary>
///Registertheclientscript.
///</summary>
protectedvoidRegisterClientScript()
...{
stringscript=@"
<scriptlanguage=""javascript"">
functionListItemVerify(val)
{
varcontrol=document.getElementById(val.controltovalidate);
varminimumNumberOfSelectedCheckBoxes=parseInt(val.minimumNumberOfSelectedCheckBoxes);
varselectedItemCount=0;
varliIndex=0;
varcurrentListItem=document.getElementById(control.id+'_'+liIndex.toString());
while(currentListItem!=null)
{
if(currentListItem.checked)selectedItemCount++;
liIndex++;
currentListItem=document.getElementById(control.id+'_'+liIndex.toString());
}
returnselectedItemCount>=minimumNumberOfSelectedCheckBoxes;
}
</script>
";
this.Page.ClientScript.RegisterClientScriptBlock(typeof(ListControlRequiredFieldValidator),"ListRequiredValidator_Script",script);
}
}
}
2、页面
<%...@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<%...@RegisterTagPrefix="ShiXun"NameSpace="ShiXun.Commoon.Web.Validor"Assembly="ShiXun.Commoon.Web.Validor"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
</head>
<body>
<formid="form1"runat="server">
<asp:CheckBoxListid="cbB_Property"runat="server"RepeatDirection="Horizontal"RepeatColumns="3">
<asp:ListItemValue="1">投资商</asp:ListItem>
<asp:ListItemValue="2">投资促进机构</asp:ListItem>
<asp:ListItemValue="3">代理商</asp:ListItem>
<asp:ListItemValue="4">科研及信息单位协会</asp:ListItem>
<asp:ListItemValue="5">零售商</asp:ListItem>
<asp:ListItemValue="6">批发商</asp:ListItem>
<asp:ListItemValue="7">仓储业</asp:ListItem>
<asp:ListItemValue="8">跨国公司</asp:ListItem>
<asp:ListItemValue="9">进出口商</asp:ListItem>
<asp:ListItemValue="10">生产商</asp:ListItem>
<asp:ListItemValue="11">超市</asp:ListItem>
<asp:ListItemValue="12">酒店</asp:ListItem>
<asp:ListItemValue="13">宾馆及后勤服务</asp:ListItem>
<asp:ListItemValue="-1">其他</asp:ListItem>
</asp:CheckBoxList>
<ShiXun:ListControlRequiredFieldValidator
ControlToValidate="cbB_Property"
display="Dynamic"
ErrorMessage="至少选择一项!"
EnableClientScript="true"
runat="Server">
至少选择一项
</ShiXun:ListControlRequiredFieldValidator>
<br/>
<br/>
<asp:CheckBoxListID="cbPurpose"runat="server"RepeatColumns="3"RepeatDirection="Horizontal">
<asp:ListItemValue="1">采购产品</asp:ListItem>
<asp:ListItemValue="2">搜集市场信息</asp:ListItem>
<asp:ListItemValue="3">与业务伙伴会面</asp:ListItem>
<asp:ListItemValue="4">了解行业动向</asp:ListItem>
<asp:ListItemValue="5">观看观摩</asp:ListItem>
<asp:ListItemValue="6">投资项目洽谈</asp:ListItem>
<asp:ListItemValue="7">获取行业信息</asp:ListItem>
<asp:ListItemValue="8">寻找供应商或买家</asp:ListItem>
<asp:ListItemValue="-1">其他</asp:ListItem>
</asp:CheckBoxList>
<ShiXun:ListControlRequiredFieldValidator
ControlToValidate="cbPurpose"
display="Dynamic"
ErrorMessage="至少选择一项!"
EnableClientScript="true"
runat="Server">
至少选择一项
</ShiXun:ListControlRequiredFieldValidator>
<br/>
<asp:CheckBoxListID="cbChannel"runat="server"RepeatColumns="3"RepeatDirection="Horizontal">
<asp:ListItemValue="1">报纸等平面媒体</asp:ListItem>
<asp:ListItemValue="2">网络</asp:ListItem>
<asp:ListItemValue="3">电视</asp:ListItem>
<asp:ListItemValue="4">朋友介绍</asp:ListItem>
<asp:ListItemValue="5">客户推荐</asp:ListItem>
<asp:ListItemValue="-1">其他</asp:ListItem>
</asp:CheckBoxList>
<ShiXun:ListControlRequiredFieldValidator
ControlToValidate="cbChannel"
display="Dynamic"
ErrorMessage="至少选择一项!"
EnableClientScript="true"
runat="Server">
至少选择一项
</ShiXun:ListControlRequiredFieldValidator>
<asp:TextBoxID="txtSourceChannel"runat="Server"CssClass="input2"Width="400px"></asp:TextBox>
<br/>
<br/>
<br/>
<asp:ButtonID="Button1"runat="server"Text="Button"/>
</form>
</body>
</html>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
asp.net Dropdownlist结合CheckBoxList多选下拉框
ASP.NET 中Checkboxlist添加到数据库代码案例
CheckBoxList操作方法集合,包括:获取选中项、全选、取消、反选
5.18.1 从Calendar控件中选择一个日期 149 5.18.2 从日历中选择要输出的日期格式 150 5.18.3 选择日期、星期或月份 150 5.18.4 使用日期范围 151 5.18.5 修改日历的样式和操作方式 153 5.19 AdRotator服务器...
.net 后台实现 checkboxlist 单选。。。。。。。。。。。
如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...
asp.net(C#),DataList控件里嵌入CheckBox,实现全选、反选以及删除功能。
本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...
1.4 第一个ASENET程序 1.5 本章小结 第2章 C#程序设计基础 2.1 C#语言简介 2.2 C#中的数据类型 2.2.1 值类型 2.2.2 引用类型 2.2.3 装箱和拆箱 2.3 C#语言中的变量和常量 2.3.1 变量 2.3.2 常量 2.4...
在ASP.NET 2.0中操作数据:为GridView控件添加Checkboxes列(源码)
用CheckBoxList实现单选的原因是我觉得CheckBoxList控件页面展示效果要好看一些,需要的朋友可以参考下
下拉checkboxList实现多选效果
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消) ,需要的朋友可以参考下。
Jquery.Validate是一个相当棒的客户端验证控件,它的功能强大就不必说了,本文主要介绍了它对asp.net中三类控件CheckBoxList,RadioButtonList,DropDownList是否选中的验证
【ASP.NET编程知识】在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox.docx
vb.net datagridview checkbox 选择数据及删除示例 核心代码: Try If MsgBox("您确定要删除选择的数据吗? ", MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "温馨提示") = 1 Then Dim str As String = String....
在提交添加或修改内容时,需要对关键数据进行判空处理,如何在js中判断checkboxlist是否有选择项呢? 具体操作如下: 代码如下: var CheckBox = document.getElementById(“<%=cblWeek.ClientID %>”)....
本文主要介绍CheckBoxList,不言而喻,看到List就知道是一个列表(集合),一个控件可以包含多个CheckBox,下面让我们来看看具体的用法。 1.绑定数据 代码如下: this.lngCatalogID.DataSource = dt; //这里我绑到...
Asp.Net Checkbox操作及父子级Checkbox联动Demo
遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList, 遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList。