本文目录
- mvc html.validationsummary出来怎么是ul
- 验证总结控件与其它控件有什么不同
- (ASP.NET)验证控件有哪些有什么作用
- 简述验证控件的作用
- 在使用ValidationSummary控件时,默认情况是除ValidationSummary控件要显示所有验证控件中的错误消息(Err
- RangeValidator验证控件
- validationsummary控件有什么用途
- 使用.net实现登录,用validationSummary显示汇总错误信息,再次正确输入后该信息如何隐藏呢
mvc html.validationsummary出来怎么是ul
您好,我来为您解答:
《script src=“../../Scripts/Shared/modernizr-2.5.3.js“ type=“text/javascript“》《/script》
《script src=“../../Scripts/Shared/jquery.unobtrusive-ajax.js“ type=“text/javascript“》《/script》
《script src=“../../Scripts/Shared/jquery.validate.js“ type=“text/javascript“》《/script》
《script src=“../../Scripts/Shared/jquery.validate.unobtrusive.js“ type=“text/javascript“》《/script》
转载,仅供参考。
如果我的回答没能帮助您,请继续追问。
验证总结控件与其它控件有什么不同
目前的ASP.NET,可以实现对用户输入的验证。
ASP.NET共有六种验证控件,分别如下:
控件名 功能描叙
RequiredFieldValidator(必须字段验证) 用于检查是否有输入值
CompareValidator(比较验证) 按设定比较两个输入
RangeValidator(范围验证) 输入是否在指定范围
RegularExpressionValidator(正则表达式验证) 正则表达式验证控件
CustomValidator(自定义验证) 自定义验证控件
ValidationSummary(验证总结) 总结验证结果
下面来说这些控件的使用:
自定义控件的例子:
例子:
《asp:CustomValidator
id=“valComments“
ControlToValidate=“txtComments“
Text=“(Comments must be less than 10 characters)“
OnServerValidate=“valComments_ServerValidate“
Runat=“server“ /》
ControlToValidate Text ClientValidationFunction 事件ServerValidate
void valComments_ServerValidate(Object source, ServerValidateEventArgs args)
{
if (args.Value.Length 》 10)
args.IsValid = false;
else
args.IsValid = true;
}
ServerValidate event handler 是erverValidateEventArgs 类的实例. 拥有Value IsValid ValidateEmptyText(空值时是否验证)属性
只用服务器端的验证事件而没有客户端的话,必须提交了才知道错误,不能在提交前显示错误信息。
用可客户端验证的话,可能会在mouseout,change时进行验证并显示错误在页面上。
function valComments_ClientValidate(source, args)
{
if (args.Value.length 》 10)
args.IsValid = false;
else
args.IsValid = true;
}
与其它验证控件不同的是,CustomValidator可以在输入为空值时决定是否验证。alidateEmptyText=“true“,默认为false,即为空时不验证(此时跟其它控件是一样的都不验证)。
与其它验证控件不同的是,CustomValidator可以不绑定到某一表单控件,即ControlToValidate属性不是必须的。
一、RequiredFieldValidator(必须字段验证)的使用
RequiredFieldValidator控件使用的标准代码如下:
<ASP:RequiredFieldValidator id=“Validator_Name“ Runat=“Server“
ControlToValidate=“要检查的控件名“
ErrorMessage=“出错信息“
Display=“Static|Dymatic|None“
>
占位符
</ASP: RequiredFieldValidator >
在以上标准代码中:
ControlToValidate:表示要进行检查控件ID;
ErrorMessage:表示当检查不合法时,出现的错误信息;
Display:错误信息的显示方式;Static表示控件的错误信息在页面中占有肯定位置;Dymatic表示控件错误信息出现时才占用页面控件;None表示错误出现时不显示,但是可以在ValidatorSummary中显示;
占位符:表示Display为Static时,错误信息占有“占位符“那么大的页面空间;
现在,让我们看一个实例:
<ASP:TextBox id=“txtName“ RunAt=“Server“/>
<ASP:RequiredFieldValidator id=“Validator1“ Runat=“Server“
ControlToValidate=“txtName“
ErrorMessage=“姓名必须输入“
Display=“Static“>
*姓名必须输入
</ASP:RequiredFieldValidator>
在以上例子中,检查txtName控件是否有输入,如果没有,显示错误信息“姓名必须输入“。是不是很简单?
注意:以上代码和下面其他控件的代码最好放入Form中,和ASP中不一样的是,Form最好写为这样:
<Form RunAt=“Server“>
其他代码
</Form>
这样,Form在服务器端执行,提交才会有效;
二、CompareValidator(比较验证)控件
比较控件比较两个控件的输入是否符合程序设定,大家不要把比较仅仅理解为“相等“,尽管相等是用的最多的,其实,这里的比较包括范围很广,大家看标准代码就会明白。
比较控件的标准代码如下:
<ASP:CompareValidator id=“Validator_ID“ RunAt=“Server“
ControlToValidate=“要验证的控件ID“
errorMessage=“错误信息“
ControlToCompare=“要比较的控件ID“
type=“String|Integer|Double|DateTime|Currency“
operator=“Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual|DataTypeCheck“
Display=“Static|Dymatic|None“
>
占位符
</ASP:CompareValidator>
在以上标准代码中:
Type表示要比较的控件的数据类型;
Operator表示比较操作(也就是刚才说的为什么比较不仅仅是“相等“的原因),这里,比较有7种方式;
其他属性和RequiredFieldValidator相同;
在这里,要注意ControlToValidate和ControlToCompare的区别,如果operate为GreateThan,那么,必须ControlToCompare大于ControlToValidate才是合法的,这下,应该明白它们两者的意义了吧?例子程序请参考RequiredFieldValidator控件,对照标准代码自己设计。
三、RangeValidator(范围验证)控件
验证输入是否在一定范围,范围用MaximumValue(最大)和MinimunVlaue来确定,标准代码如下:
<ASP:RangeValidator id=“Vaidator_ID“ Runat=“Server“
controlToValidate=“要验证的控件ID“
type=“Integer“
MinimumValue=“最小值“
MaximumValue=“最大值“
errorMessage=“错误信息“
Display=“Static|Dymatic|None“
>
占位符
</ASP:RangeValidator>
在以上代码中:
用MinimumValue和MaximumValue来界定控件输入值得范围,用type来定义控件输入值的类型。
四、RegularExpresionValidator(正则表达式)控件
正则表达式验证控件的功能非常强大,你可以自己容易构造验证方式,我们先来看看标准代码:
<ASP:RegularExpressionValidator id=“Validator_ID“ RunAt=“Server“
ControlToValidate=“要验证控件名“
ValidationExpression=“正则表达式“
errorMessage=“错误信息“
display=“Static“
>
占位符
</ASP:RegularExpressionValidator>
在以上标准代码中,ValidationExpression是重点,现在来看看它的构造:
在ValidationExpression中,不同的字符表示不同的含义:
“.“表示任意字符;
“*“表示和其他表达式一起,表示容易组合;
“[A-Z]“表示任意大写字母;
“\d“表示容易一个数字;
注意,在以上表达式中,引号不包括在内;
举例:
正则表达式:“.*[A-Z]“表示数字开头的任意字符组合其后接一个大写字母。
五、ValidationSummary(验证总结)控件
该控件收集本页的所有验证错误信息,并可以将它们组织以后再显示出来。其标准代码如下:
<ASP:ValidationSummary id=“Validator_ID“ RunAT=“Server“
HeaderText=“头信息“
ShowSummary=“True|False“
DiaplayMode=“List|BulletList|SingleParagraph“
>
</ASP: ValidationSummary >
在以上标准代码中,HeadText相当于表的HeadText,DisplayMode表示错误信息显示方式:List相当于HTML中的<BR>;BulletList相当于HTML中的<LI>;SingleParegraph表示错误信息之间不作如何分割;
六、CustomValidator(自定义验证)控件
该控件用自定义的函数界定验证方式,其标准代码如下:
<ASP:CustomValidator id=“Validator_ID“ RunAt=“Server“
controlToValidate=“要验证的控件“
onServerValidateFunction=“验证函数“
errorMessage=“错误信息“
Display=“Static|Dymatic|None“
>
占位符
</ASP: CustomValidator >
以上代码中,用户必须定义一个函数来验证输入。
另外,团IDC网上有许多产品团购,便宜有口碑
(ASP.NET)验证控件有哪些有什么作用
验证控件的使用方法
① RequiredFieldValidator控件
当页面上的控件要求必须输入数据时,RequiredFieldValidator就起作用了,ControlToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的错误提示信息。
《HTML》
《HEAD》
《title》RequiredFieldValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
Name:
《asp:TextBox id=“TextBox1“ runat=“server“ 》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator1“ runat=“server“
ErrorMessage=“Please enter your name“ ControlToValidate=“TextBox1“》《/asp:RequiredFieldValidator》
《asp:Button id=“Button1“ runat=“server“ Text=“Button“》《/asp:Button》
《/form》
《/BODY》
《/HTML》
②CompareValidator控件
CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验控件中内容的数据类型:如整形、字符串型等。ControlToCompare和ControlToValidate属性用来设置进行比较的两个控件。
《HTML》
《HEAD》
《title》CompareValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Password:
《asp:TextBox id=“txtPwd“ runat=“server“ TextMode=“Password“》《/asp:TextBox》《BR》
Confirm:
《asp:TextBox id=“TxtCfm“ runat=“server“ TextMode=“Password“》《/asp:TextBox》《/P》
《P》
《asp:Button id=“Button2“ runat=“server“ Text=“Button“》《/asp:Button》
《asp:CompareValidator id=“CompareValidator1“ runat=“server“ ErrorMessage=“Password Error!“
ControlToValidate=“TxtCfm“ ControlToCompare=“txtPwd“》《/asp:CompareValidator》《/P》
《/form》
《/BODY》
《/HTML》
③RangeValidator控件
RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue和MinimumValue用来设定范围的最大和最小值。
《HTML》
《HEAD》
《title》RangeValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Age:
《asp:TextBox id=“TxtAge“ runat=“server“》《/asp:TextBox》
《asp:RangeValidator id=“RangeValidator1“ runat=“server“ ControlToValidate=“TxtAge“
ErrorMessage=“Age Error!“ MaximumValue=“99“ MinimumValue=“1“》《/asp:RangeValidator》《/P》
《/form》
《/BODY》
《/HTML》
④RegularExpressionValidator控件
RegularExpressionValidator控件可以判断用户输入的表达式是否正确,如电话号码、邮编、URL等,ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。
《HTML》
《HEAD》
《title》RegularExpressionValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Postal Code:
《asp:TextBox id=“TxtPostalCode“ runat=“server“》《/asp:TextBox》
《asp:RegularExpressionValidator id=“RegularExpressionValidator1“ runat=“server“
ControlToValidate=“TxtPostalCode“ ErrorMessage=“Postal Code Error!“
ValidationExpression=“\d6}“》《/asp:RegularExpressionValidator》《/P》
《/form》
《/BODY》
《/HTML》
⑤CustomValidator控件
CustomValidator控件用于执行用户自定义的验证,这种校验既可以是服务器端的也可以是客户端的,下面的代码就是使用客户端验证邮编的例子。
《HTML》
《HEAD》
《title》CustomValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Postal Code:
《asp:TextBox id=“TextBox1“ runat=“server“》《/asp:TextBox》
《asp:CustomValidator id=“CustomValidator1“ runat=“server“ ControlToValidate=“TextBox1“
ErrorMessage=“CustomValidator“ ClientValidationFunction=“ClientValidate“》
《/asp:CustomValidator》《/P》
《/form》
《/BODY》
《/HTML》
《script language=“vbscript“》
Sub ClientValidate(source, arguments)
If isnumeric(arguments.Value ) and len(arguments.Value)=6 Then
arguments.IsValid=true
Else
arguments.IsValid=false
End If
End Sub
《/script》
⑥ValidationSummary控件
这个控件会将页面中所有的校验错误输出为一个列表,列表的显示方式由DisplayMode属性设置。
《HTML》
《HEAD》
《title》ValidationSummary Example《/title》
《/HEAD》
《body》
《form id=“Form1“ runat=“server“》
《P》Age:
《asp:TextBox id=“TxtAge“ runat=“server“》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator1“ runat=“server“
ControlToValidate=“TxtAge“ ErrorMessage=“Age Error!“ Display=“None“》《/asp:RequiredFieldValidator》《BR》
Postal Code:
《asp:TextBox id=“TxtPostalCode“ runat=“server“》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator2“ runat=“server“
ControlToValidate=“TxtPostalCode“ ErrorMessage=“Postal Code Error!“
Display=“None“》《/asp:RequiredFieldValidator》《/P》
《P》
《asp:Button id=“Button1“ runat=“server“ Text=“Button“》《/asp:Button》《/P》
《P》
《asp:ValidationSummary id=“ValidationSummary1“ runat=“server“
HeaderText=“You must enter a value in the following fields:“》《/asp:ValidationSummary》《/P》
《/form》
《/body》
《/HTML》
-summary
简述验证控件的作用
现在asp.net,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服务器端进行还是在客户端进行,再也不必考虑那么多了,程序员们可以将重要精力放在主程序的设计上了。asp.net公有六种验证控件,分别如下:控件名
功能描叙
requiredfieldvalidator(必须字段验证)
用于检查是否有输入值
comparevalidator(比较验证)
按设定比较两个输入
rangevalidator(范围验证)
输入是否在指定范围
regularexpressionvalidator(正则表达式验证)
正则表达式验证控件
customvalidator(自定义验证)
自定义验证控件
validationsummary(验证总结)
总结验证结果
下面,我们来看这些控件的使用:一、requiredfieldvalidator(必须字段验证)的使用requiredfieldvalidator控件使用的标准代码如下:<asp:requiredfieldvalidator
id=“validator_name“
runat=“server“
controltovalidate=“要检查的控件名“
errormessage=“出错信息“
display=“static|dymatic|none“
>
占位符
</asp:
requiredfieldvalidator
>在以上标准代码中:
controltovalidate:表示要进行检查控件id;
errormessage:表示当检查不合法时,出现的错误信息;
display:错误信息的显示方式;static表示控件的错误信息在页面中占有肯定位置;dymatic表示控件错误信息出现时才占用页面控件;none表示错误出现时不显示,但是可以在validatorsummary中显示;
占位符:表示display为static时,错误信息占有“占位符“那么大的页面空间;现在,让我们看一个实例:
<asp:textbox
id=“txtname“
runat=“server“/>
<asp:requiredfieldvalidator
id=“validator1“
runat=“server“
controltovalidate=“txtname“
errormessage=“姓名必须输入“
display=“static“>
*姓名必须输入
</asp:requiredfieldvalidator>在以上例子中,检查txtname控件是否有输入,如果没有,显示错误信息“姓名必须输入“。是不是很简单?
注意:以上代码和下面其他控件的代码最好放入form中,和asp中不一样的是,form最好写为这样:
<form
runat=“server“>
其他代码
</form>
这样,form在服务器端执行,提交才会有效;二、comparevalidator(比较验证)控件比较控件比较两个控件的输入是否符合程序设定,大家不要把比较仅仅理解为“相等“,尽管相等是用的最多的,其实,这里的比较包括范围很广,大家看标准代码就会明白。比较控件的标准代码如下:
<asp:comparevalidator
id=“validator_id“
runat=“server“
controltovalidate=“要验证的控件id“
errormessage=“错误信息“
controltocompare=“要比较的控件id“
type=“string|integer|double|datetime|currency“
operator=“equal|notequal|greaterthan|greatertanequal|lessthan|lessthanequal|datatypecheck“
display=“static|dymatic|none“
>
占位符
</asp:comparevalidator>在以上标准代码中:
type表示要比较的控件的数据类型;
operator表示比较操作(也就是刚才说的为什么比较不仅仅是“相等“的原因),这里,比较有7种方式;
其他属性和requiredfieldvalidator相同;
在这里,要注意controltovalidate和controltocompare的区别,如果operate为greatethan,那么,必须controltocompare大于controltovalidate才是合法的,这下,应该明白它们两者的意义了吧?例子程序请参考requiredfieldvalidator控件,对照标准代码自己设计。三、rangevalidator(范围验证)控件验证输入是否在一定范围,范围用maximumvalue(最大)和minimunvlaue来确定,标准代码如下:<asp:rangevalidator
id=“vaidator_id“
runat=“server“
controltovalidate=“要验证的控件id“
type=“integer“
minimumvalue=“最小值“
maximumvalue=“最大值“
errormessage=“错误信息“
display=“static|dymatic|none“
>
占位符
</asp:rangevalidator>在以上代码中:
用minimumvalue和maximumvalue来界定控件输入值得范围,用type来定义控件输入值的类型。四、regularexpresionvalidator(正则表达式)控件正则表达式验证控件的功能非常强大,你可以自己容易构造验证方式,我们先来看看标准代码:<asp:regularexpressionvalidator
id=“validator_id“
runat=“server“
controltovalidate=“要验证控件名“
validationexpression=“正则表达式“
errormessage=“错误信息“
display=“static“
>
占位符
</asp:regularexpressionvalidator>在以上标准代码中,validationexpression是重点,现在来看看它的构造:
在validationexpression中,不同的字符表示不同的含义:
“.“表示任意字符;
“*“表示和其他表达式一起,表示容易组合;
“[a-z]“表示任意大写字母;
“\d“表示容易一个数字;
注意,在以上表达式中,引号不包括在内;
举例:
正则表达式:“.*[a-z]“表示数字开头的任意字符组合其后接一个大写字母。五、validationsummary(验证总结)控件该控件收集本页的所有验证错误信息,并可以将它们组织以后再显示出来。其标准代码如下:<asp:validationsummary
id=“validator_id“
runat=“server“
headertext=“头信息“
showsummary=“true|false“
diaplaymode=“list|bulletlist|singleparagraph“
>
</asp:
validationsummary
>
在以上标准代码中,headtext相当于表的headtext,displaymode表示错误信息显示方式:list相当于html中的<br>;bulletlist相当于html中的<li>;singleparegraph表示错误信息之间不作如何分割;六、customvalidator(自定义验证)控件该控件用自定义的函数界定验证方式,其标准代码如下:<asp:customvalidator
id=“validator_id“
runat=“server“
controltovalidate=“要验证的控件“
onservervalidatefunction=“验证函数“
errormessage=“错误信息“
display=“static|dymatic|none“
>
占位符
</asp:
customvalidator
>以上代码中,用户必须定义一个函数来验证输入。
-s
在使用ValidationSummary控件时,默认情况是除ValidationSummary控件要显示所有验证控件中的错误消息(Err
用到资源文件就是为了解决一般电脑不带所需控件的问题,如果你想用API的话可以搜索一下API相关资料。这里可以供你参考一下。
WinSockAPI的使用
1.WSAStartup 函数
为了在你的应用程序当中调用任何一个Winsock API 函数,首先第一件事情你就是必须通过WSAStartup函数完成对Winsock 服务的初始化,因此需要调用WSAStartup函数。
Declare Function WSAStartup Lib “ws2_32.dll“ _
(ByVal wVersionRequired As Long, lpWSAData As WSAData) As Long
这个函数有两个参数: wVersionRequired 和 lpWSAData。wVersionRequired 参数定义Windows Sockets 提供能使用的最高版本,它的高位字节定义的是次版本号,低位字节定义的是主版本号。下面的2个Winsock版本在VB中使用的例子:
初始化1.1版本
lngRetVal = WSAStartup(H101, udtWinsockData)
初始化2.2版本
lngRetVal = WSAStartup(H202, udtWinsockData)
第二个参数是WSADATA 的数据结构 ,它是接收Windows Sockets 执行时的数据。
Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription As String * WSADESCRIPTION_LEN
szSystemStatus As String * WSASYS_STATUS_LEN
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
数据成员的描述在下表中:
Field 描述
wVersion Windows Sockets 版本信息。
wHighVersion 通过加载库文件得到的最高的支持Winsock 的版本,
它通常和wVersion值相同。
szDescription Windows Sockets 执行时的详细描述
szSystemStatus 包含了相关的状态和配置的信息
iMaxSockets 表示同时打开的socket最大数,为0表示没有限制。
iMaxUdpDg 表示同时打开的数据报最大数,为0表示没有限制。
lpVendorInfo 厂商指定信息预留
在Winsock的1.1和2.2版本中没有lpVendorInfo的返回值。因为winsock 2支持多个传输协议,所以iMaxSockets 和iMaxUdpDg只能在仅支持TCP/TP的winsock1.1中使用。为了在Winsock 2中获得这些值,你可以使用WSAEnumProtocols 函数。
如果成功或者返回一个错误代码,则函数返回 0。
错误代码 含义
WSASYSNOTREADY 指出网络没有为传输准备好。
WSAVERNOTSUPPORTED 当前的WinSock实现不支持应用程序指定的Windows Sockets规范版本
WSAEINPROGRESS 一个阻塞WinSock调用正在进行
WSAEPROCLIM 请求的协议没有在系统中配置或没有支持它的实现存在。
WSAEFAULT lpWSAData 不是有效的指针
2.WSACleanup 函数
每次调用了WSAStartup函数,你都需要调用WSACleanup函数,通知系统来卸载库文件及清除已分配的资源,这个函数十分简单,没有任何参数:
Declare Function WSACleanup Lib “ws2_32.dll“ () As Long
3.建立Socket函数
Declare Function socket Lib “ws2_32.dll“ (ByVal af As Long, _
ByVal s_type As Long,
ByVal Protocol As Long) As Long
函数有3个参数定义建立何种socket,三个参数分别是:
Argument Description Enum Type
af Address family specification. AddressFamily
s_type Type specification for the new socket. SocketType
Protocol Protocol to be used with the socket SocketProtocol
that is specific to the indicated address
family.
AddressFamily:
AF_UNSPEC = 0 ’/* unspecified */
AF_UNIX = 1 ’/* local to host (pipes, portals) */
AF_INET = 2 ’/* internetwork: UDP, TCP, etc. */
AF_IMPLINK = 3 ’/* arpanet imp addresses */
AF_PUP = 4 ’/* pup protocols: e.g. BSP */
AF_CHAOS = 5 ’/* mit CHAOS protocols */
AF_NS = 6 ’/* XEROX NS protocols */
AF_IPX = AF_NS ’/* IPX protocols: IPX, SPX, etc. */
AF_ISO = 7 ’/* ISO protocols */
AF_OSI = AF_ISO ’/* OSI is ISO */
AF_ECMA = 8 ’/* european computer manufacturers */
AF_DATAKIT = 9 ’/* datakit protocols */
AF_CCITT = 10 ’/* CCITT protocols, X.25 etc */
AF_SNA = 11 ’/* IBM SNA */
AF_DECnet = 12 ’/* DECnet */
AF_DLI = 13 ’/* Direct data link interface */
AF_LAT = 14 ’/* LAT */
AF_HYLINK = 15 ’/* NSC Hyperchannel */
AF_APPLETALK = 16 ’/* AppleTalk */
AF_NETBIOS = 17 ’/* NetBios-style addresses */
AF_VOICEVIEW = 18 ’/* VoiceView */
AF_FIREFOX = 19 ’/* Protocols from Firefox */
AF_UNKNOWN1 = 20 ’/* Somebody is using this! */
AF_BAN = 21 ’/* Banyan */
AF_ATM = 22 ’/* Native ATM Services */
AF_INET6 = 23 ’/* Internetwork Version 6 */
AF_CLUSTER = 24 ’/* Microsoft Wolfpack */
AF_12844 = 25 ’/* IEEE 1284.4 WG AF */
AF_MAX = 26
Socket types:
SOCK_STREAM = 1 ’ /* stream socket */
SOCK_DGRAM = 2 ’ /* datagram socket */
SOCK_RAW = 3 ’ /* raw-protocol interface */
SOCK_RDM = 4 ’ /* reliably-delivered message */
SOCK_SEQPACKET = 5 ’ /* sequenced packet stream */
Protocols:
IPPROTO_IP = 0 ’/* dummy for IP */
IPPROTO_ICMP = 1 ’/* control message protocol */
IPPROTO_IGMP = 2 ’/* internet group management protocol */
IPPROTO_GGP = 3 ’/* gateway^2 (deprecated) */
IPPROTO_TCP = 6 ’/* tcp */
IPPROTO_PUP = 12 ’/* pup */
IPPROTO_UDP = 17 ’/* user datagram protocol */
IPPROTO_IDP = 22 ’/* xns idp */
IPPROTO_ND = 77 ’/* UNOFFICIAL net disk proto */
IPPROTO_RAW = 255 ’/* raw IP packet */
IPPROTO_MAX = 256
该函数可以建立使用特定协议的网络套接字,例如对于UDP协议可以这样写:
s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
s=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
4.关闭Socket函数
Declare Function closesocket Lib “ws2_32.dll“ (ByVal s As Long) As Long
函数有一个参数为建立socket时的Handle
5.连接函数
Declare Function connect Lib “ws2_32.dll“ (ByVal s As Long, _
ByRef name As sockaddr_in, _
ByVal namelen As Long) As Long
参数
s 连接的socket句柄。
name 建立连接的地址。
namelen 连接地址的长度。
返回值
成功时返回0。否则返回SOCKET_ERROR以及一个对应的错误号 Err.LastDllError。
显然在调用这个函数时我们需要知道socket句柄,将连接的电脑的端口号和主机名称(或主机IP地址)。我们知道Winsock 控件的Connect方法依靠两个变量:RemoteHost 和RemotePort。此方法不需要socket句柄,因其已经被封装在COM对象中。你也许认为connect函数应该也接受相同的变量设置,然而,事实并非如此。connect函数的主机地址和端口号的传送是依靠 sockaddr_in 结构。
Public Type sockaddr_in
sin_family As Integer
sin_port As Integer
sin_addr As Long
sin_zero(1 To 8) As Byte
End Type
6.套接字帮定函数
Declare Function bind Lib “ws2_32.dll“ (ByVal s As Long, _
ByRef name As sockaddr_in, _
ByRef namelen As Long) As Long
s是使用Socket函数创建好的套接字,name指向描述通信对象的结构体的指针,namelen是该结构的长度。该结
构体中的分量包括:
IP地址:对应name.sin_addr.s_addr
端口号:对应name.sin_port
端口号用于表示同一台计算机上不同的进程(即应用程序),其分配方法有两种:
第一种分配方法是,进程让系统为套接字自动分配一端口号,这只要在调用bind前将端口号指定为0即可。由系统自动分配的端口号位于1024~5000之间,而1~1023之间的任一TCP或UDP端口都是保留的,系统不允许任一进程使用保留端口,除非其有效用户ID是零(即超级用户)。
第二种分配方法是,进程为套接字指定一特定端口。这对于需要给套接字分配一众所周知的端口的服务器是很有用的。指定范围在1024~65536之间。
地址类型:对应name.sin_family,一般都赋成AF_INET,表示是internet地址(即IP 地址)。IP地址通常使用点分表示法表示,但它事实上一个32位的长整数,这两者之间可通过inet_addr()函数转换。
7.套接字监听函数
Declare Function listen Lib “ws2_32.dll“ (ByVal s As Long, ByVal backlog As Long) As Long
listen函数用来设定Socket为监听状态,这种状态表明Socket准备被连接了。注意,此函数一般在服务程序上使用,其中s是使用Socket函数创建好的套接字,backlog参数用于设定等待连接的客户端数。
-summary
RangeValidator验证控件
ValidationSummary就在你拖动RangeValidato的下面,他是自动获取错误提示内容的,你把他的属性MessageBox设为true,就会弹出提示框提示错误信息的。
validationsummary控件有什么用途
ValidationSummary控件是用于显示验证所有验证错误摘要的控件,当我们将验证控件的Display属性设置None的时候,验证错误信息就在这里显示。
ValidationSummary控件有三个常见属性:指定显示模式,有BulletList、List、SingleParagraph三种模式:
ShowMessageBox,是否以客户端提示框的信息显示验证错误信息摘要howSummary,是否在网页中采用内联方式显示错误摘要。
扩展资料
EditForm组件通过EditContext包装这些输入组件并协调验证过程。创建EditForm时,可以使用Model参数指定要绑定到的模型实例。
验证通常是使用数据批注完成的,并且可以进行扩展。若要启用基于数据批注的验证,请将DataAnnotationsValidator组件添加为EditForm的子组件。
EditForm组件提供了一个用于处理有效(OnValidSubmit)和无效(OnInvalidSubmit)提交的方便事件。
还有一个更通用的OnSubmit事件,可让你自行触发和处理验证。若要显示验证错误摘要,请使用ValidationSummary组件。
使用.net实现登录,用validationSummary显示汇总错误信息,再次正确输入后该信息如何隐藏呢
代码贴出来看看。
你的意思是不是西安错误了,提示了以后,再次输入正确后提示信息没有隐藏掉。
这个你要自己写事件,当输入框失去焦点的时候调用一下验证就可以了。
这样就麻烦了
建议使用jquery的validate插件,简单易用,引用下js然后验证的时候调用下样式就可以了
要这个插件的话,百度HI我 我教你怎么用
要不你就把ValidationSummary控件的 ShowMessageBox设为“true“和 ShowSummary设为“false“
这样就是弹出框提示。就可以了
-s