客户端脚本验证:ASP.NET Vs ASP

一、ASP.NET和ASP客户端脚本验证举例

ASP.NET例子:

<%@ Page Language="C#" %>

<script runat="server">
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        Label1.Text = "从服务器端返回的消息:" + Request["txtUserName"];
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>.NET客户端脚本验证</title>
    <script type="text/javascript" language="javascript">
    function checkForm(obj)
    {
        if(obj.txtUserName.value == ""){alert("没有填写内容!");obj.txtUserName.focus();return false;}
        return true;
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
        <asp:Button ID="btnSubmit" runat="server" Text="验证示例" OnClick="btnSubmit_Click" OnClientClick="return checkForm(this.form);" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
    </form>
</body>
</html>

ASP例子:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP客户端脚本验证</title>
<script language="javascript">
function checkForm(obj)
{
    if(obj.txtUserName.value == ""){alert("没有填写内容!");obj.txtUserName.focus();return false;}
    return true;
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
  <input name="txtUserName" type="text" id="txtUserName">
  <input type="submit" name="Submit" onClick="return checkForm(this.form);" value="验证示例">
</form>
<%
Response.Write("从服务器端返回的消息:" & Request("txtUserName"))
%>
</body>
</html>

二、总结

1.在ASP.NET中无论给服务器端 Form 的 action 属性设置什么值,它都只能将表单提交给当前页;要实现将各类表单(登录、搜索等等)分别发送到不同的页面中处理可通过设置服务器端 Button 的 PostBackUrl 属性。
2.在ASP.NET中最好不要将客户端脚本验证放在服务器端 Form 的 onsubmit 属性中,因为在ASP.NET中一页只能有一个服务器端 Form 标记,如果一个页中同时有几类表单这将变得没验证,最佳的方法是将客户端脚本验证放在服务器端 Button 的 OnClientClick 属性中。

上一篇: ASP.NET Session详解
下一篇: C#中接口的作用
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4024
发表评论
登录后再发表评论!