首页 > 代码库 > .net中的一般处理程序实例
.net中的一般处理程序实例
最近在学习一般处理程序,也学习了一些jQuery的异步操作,于是就想着亲手做一个小的登陆,锻炼一下自己。
1、首先新建了一个项目LoginDemo,在此基础上又添加了一个一般处理程序BackLogin.ashx,具体代码如下
///<span style="font-family: Arial, Helvetica, sans-serif;">没有牵扯到数据库查询,在这写的比较简单</span>
public class BackLogin : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string username = context.Request.Form["username"]; string password = context.Request.Form["password"]; if (username == " " || password == " ") { context.Response.Write("请填写用户名或密码!"); } else { if (username == "001" && password == "001") { context.Response.Write("success"); } else { context.Response.Write("用户名或密码错误,请重新登录!"); } } context.Response.End(); } public bool IsReusable { get { return false; } } }2、添加一个Web页面Login.aspx,作为登陆页面,浏览器效果图如下所示
3、三种实现方式
1. Form表单形式
<form action="BackLogin.ashx" method="post"> <input type="text" name="username" value=http://www.mamicode.com/"{num}" />>2、异步Post方式<script type="text/javascript"> $(function () { $("#Login").click(function () { $.post("BackLogin.ashx", { "username": $("#username").val(), "password": $("#password").val() }, function (msg) { if (msg == "success") { alert("登陆成功"); } else if (msg == "用户名或密码错误,请重新登录!") { alert("登录失败!"); } else { alert("请输入用户名和密码!"); } }); }); // $("form1").submit(); }) </script>3、异步ajax
<script type="text/javascript"> $(document).ready(function () { $("#Login").click(function () { $.ajax({ url: "BackLogin.ashx", type: "POST", data: "username=" + escape($('#username').val()) + "&password=" + escape($('#password').val()), dataType: "text/plain", async: "true", success: function (msg) { var data = http://www.mamicode.com/eval("(" + msg.d + ")");>
4、运行效果输入001,0010用户名、密码时浏览器显示如下:
5、反思
第一种实现方式不是异步,不能很好的起到效果,ajax异步比Post操作更底层。
6、易犯错误
1.<input>标签内的name值与一般处理程序中获取form表单的name不一致
2.各种{ }()匹配不准确,造成不易察觉的语法错误
7、总结
编程序一定要先有思路,在思路的引导下,细心再细心
.net中的一般处理程序实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。