码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET实现内容前台验证后台处理

时间:2015-07-05 21:10:05      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

  在web开发中,我们总希望实现同样的功能,客户端和服务器端交互的次数越少越好。这样既可以提高用户浏览的进度,也可以减少服务器的压力,现在web开发中的“登录模块”设计为例,实现客户端验证账号密码长度是否符合要求,符合要求,服务端程序再进一步验证。

  流程:1.用户输入账号密码

     2.客户端的JavaScript代码对TextBox中字符的长度进行验证

     3.若长度不符合要求,则不转入执行服务器程序

     4.若长度符合要求,则转而执行服务器程序,将信息和数据库中信息进行比对。

  以上是程序执行的流程,读者可以继续往下看代码分析,也可以点击这里下载源代码自己研究。

  首先我们在login.aspx(前台)中添加两个文本框,一个按钮,界面如图:

技术分享

   前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>测试</title>
    <style type="text/css">
        #box{border:2px solid #00ffff; width:250px; margin-left:auto; margin-right:auto; margin-top:100px; padding:10px;}
        #bt_commit{margin-left:150px;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div id="box">
        账号:<asp:TextBox ID="txt_usr" runat="server"></asp:TextBox><br /><br />
        密码:<asp:TextBox ID="txt_pwd" runat="server" TextMode="Password" ></asp:TextBox><br /><br />
        <asp:Button ID="bt_commit" runat="server" Text="登录" />
    </div>
    </form>
</body>
</html>

 

   后台代码:(还没有添加任何自定义代码)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void bt_commit_Click(object sender, EventArgs e)
    {

    }
}

  

  然后在前台后和后台添加相应代码,如下:

  前台:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>测试</title>
    <style type="text/css">
        #box{border:2px solid #00ffff; width:250px; margin-left:auto; margin-right:auto; margin-top:100px; padding:10px;}
        #bt_commit{margin-left:150px;}
    </style>
    <script type="text/javascript">
        function yanzheng()
        {
            var usr_len = document.getElementById("txt_usr").value;
            var pwd_len = document.getElementById("txt_pwd").value;
            if(usr_len.length<1)
            {
                alert("请输入账号!");
                return false;
            }
            else if(pwd_len.length<6||pwd_len.length>20)
            {
                alert("密码长度不合法!");
                return false;
            }
            else
            {
                return true;
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="box">
        账号:<asp:TextBox ID="txt_usr" runat="server"></asp:TextBox><br /><br />
        密码:<asp:TextBox ID="txt_pwd" runat="server" TextMode="Password"></asp:TextBox><br /><br />
        <asp:Button ID="bt_commit" runat="server" Text="登录" OnClick="bt_commit_Click" />
    </div>
    </form>
</body>
</html>

  

  后台:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bt_commit.Attributes.Add("OnClick", "return yanzheng()");
        }
    }
    protected void bt_commit_Click(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(typeof(Page), "", "<script>alert(‘客户端验证通过!‘);</script>");
    }
}

  这样就可以实现只有在客户端(前台)验证通过的情况下才会执行服务端(后台)代码。点这里下载源代码。

  运行结果如图:

技术分享

 

 

ASP.NET实现内容前台验证后台处理

标签:

原文地址:http://www.cnblogs.com/robothy/p/4622870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!