ashx的学习
原文:ashx的学习
嘿嘿,今天我们休息,本来是想总结一下前两周学习的javascript和jquery,但是感觉好困哦,就没有认真地学习啦,于是做了一个小小的练习,刚开始学习html使用在项目中还是蛮高兴的啦,下面就简单的总结一下这个小小的登录页面。
一.html的静态页面
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
form{
margin-right:500px;
margin-top:10px;
width:300px;
height:300px;
}
</style>
</head>
<body>
<form action="first.ashx" method="post">
<table>
<tr><td>用户名:</td><td><input type="text" name="txtname" /></td></tr><br />
<tr><td>密 码:</td><td><input type="text" name="txtpwd" /></td></tr><br />
<tr><td><input type="submit" name="submit" value="登录" /></td>
<td><input type="button" name="btnFindPwd" value="找回密码 " /></td></tr>
</table>
</form>
</body>
这里是写了一个简单的html页面,实现其登录界面的样式。
二.ashx的文件代码
using System;
using System.Web;
using System.IO;
using UseiInfoModel;
using UserInfoBll; public class first : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html"; //接受的是html格式的文档 string path = context.Request.MapPath("FirstHtml.html"); //获取文档的路径
string html = File.ReadAllText(path); //读取文档
context.Response.Write(html); //然后写入,即返回给我们的是html页面 string name=context.Request.Form["txtname"]; //获取txtname
string pwd = context.Request.Form["txtpwd"]; //获取txtpwd
if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(pwd)) //当文本框不为空
{
Userinfobll bll = new Userinfobll();
Userinfomodelcs model = bll.GetLoginByNamePwd(name, pwd); //调用数据
if(bll!=null&&string.IsNullOrEmpty(model.Username)&&string.IsNullOrEmpty(model.Pwd))
{
context.Response.Clear();
context.Response.Write("欢迎" + model.Username + "登陆成功"); //相应报文
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
这就是新学习ashx文件,实现请求报文和响应报文。在这里实现了html与服务器的交互。
三.bll层和dal层的代码
public class Userinfobll
{
Userinfodal dal = new Userinfodal();
public Userinfomodelcs GetLoginByNamePwd(string name, string pwd)
{
return dal.GetLoginByNamePwd(name,pwd);
}
}
public class Userinfodal
{
public Userinfomodelcs GetLoginByNamePwd(string name,string pwd)
{//Id, Username, Pwd
string sql = "select Id,Username,Pwd from UserLogin where Username=@name and Pwd=@pwd";
SqlParameter[] parms ={
new SqlParameter("@name",name),
new SqlParameter("@pwd",pwd)
};
SqlDataReader reader= DBHelp.ExecuteReader(sql,parms);
Userinfomodelcs model = new Userinfomodelcs();
if (reader.Read())
{
model.Id = Convert.ToInt32(reader[]);
model.Username = reader[].ToString();
model.Pwd = reader[].ToString();
}
return model;
}
}
public static class DBHelp
{
private static string connection = ConfigurationManager.ConnectionStrings["sql"].ToString();
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parms)
{
SqlConnection conn = new SqlConnection(connection);
conn.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parms);
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = ;
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
}
public class Userinfomodelcs
{//Id, Username, Pwd
public int Id { set; get; }
public string Username { set; get; }
public string Pwd { set; get; }
}
嘿嘿,一直以为使用aspx实现其数据的提交与响应,今天学习了ashx感觉这个很奇怪,使用起来还是蛮不熟悉的,首先在实现其代码的过程中感觉不是直接和页面交互,而是一切和数据有关的和页面和有关的都要去实现,并不是很简单的那样,嘿嘿,这只是个人的意见,不知道大家在学习这个时间是不是这样的感觉那,怎么说那?可能接下来我们要学习ajax,学习完这个就好多啦,与页面的交互会更加的方便吧,但是之前也没怎么接触ajax,只是看到啦和js中使用,具体的还是不了解的,就写到这里啦,最近学习的理论知识还没有总结,感觉真的是需要再给点时间理解一下,需要了解清楚在总结。要继续努力!
ashx的学习的更多相关文章
- 对ASP.NET运行机制之 一般处理程序ashx的学习
一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中 ...
- 学习笔记05一般处理程序ashx
1.获取由表单传过来的参数var value1 = HttpContext.Request["健"]; 2.使得网站目录下的相对路径转化为绝对路径:(用于文件操作)var file ...
- CS Coder学习asp.net5个月的最大感悟:从http的角度重新认识asp.net(二)——我理解的ajax(二)
啊哈,时隔两个月,才开始写上一篇文章的后续,实在是惭愧.主要是年尾公司又来活了,忙得团团转,而且这段时间在自学mvc.我在上文中,提到过我对mvc框架的初步印象是:相比webform,算是回归了bs本 ...
- CSS3学习总结——实现瀑布流布局与无限加载图片相册
首先给大家看一下瀑布流布局与无限加载图片相册效果图: 一.pic1.html页面代码如下: <!DOCTYPE html> <html> <head> <me ...
- 分享一个html+js+ashx+easyui+ado.net权限管理系统
EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...
- knockout学习笔记10:demo
前面已经介绍了ko的基本用法,结合官方文档,基本就可以实际应用了.本章作为ko学习的最后一篇,实现一个简单的demo.主要集中在ko,所以后台数据都是静态的.类似于博园,有一个个人文章的分类列表,一个 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)
前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再 ...
- ASP.Net开发基础温故知新学习笔记
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...
随机推荐
- js实现文字逐个显示
先把代码摆上了吧: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtm ...
- 认识Underscore
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它弥补了部分jQuery没有实现的功能,同时又是Backbone.j ...
- 最常用的动态sql语句梳理Mybatis(转)
公司项目中一直使用Mybatis作为持久层框架,自然,动态sql写得也比较多了,最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了.Mybatis的强大特性之一便是它的动态sql,免除了拼接 ...
- ZeroMQ注意事项
Request-Reply状态 供client它必须是严肃的格在根据第一呼叫zmq_send() 函数,然后调用zmq_recv()函数的顺序来运行 对于server来说,运行时序相反 假设不依照这个 ...
- C++ primer札记10-继承
包.继承,多态性C++的三个基本概念,在这里,我们重点总结继承的东西 1 类派生列表 类派生列表中指定一个派生类继承基类,来自列表与一个或多个基类如: class B : public A1,prot ...
- SICP-2锻炼.34
[锻炼2.34] 为x给定值,找到一个多项式x的值,它也可以被形式化为累积. 下多项式的值: an*x^n + an-1*x^n-1 + .... + a1*x + a0 採用著名的Horner规则, ...
- 怎样用C#代码管理SharePoint解决方式
怎样用C#代码管理SharePoint解决方式 本文我们将了解怎样用代码管理SharePoint解决方式.我们使用server端对象模型抽取解决方式. SharePoi ...
- 最新jhost免费jsp云空间会员邀请码
jhost支持jsp.php的免费云空间,邀请码用于激活空间服务: 邀请码:20141003104317_149661 有效期:2014-10-03 http://w ...
- Oracle 初始化参数文件pfile和spfile
pfile和spfile差额 pfile :Oracle 9i之前.ORACLE使用我们一直PFILE存储的初始化参数,,能够在操作系统级别改动. 当spfile文件改动出现错误导致oracle无法启 ...
- 【Swift】学习笔记(四)——设置(Collection)
Swift和其他语言也提供了两种类型的集合:数组和字典 数组:数组用来按顺序存储同样类型的数据,swift规定它是类型安全的,每个数组都有自己的类型也就是其它语言所说的泛型. 创建数组: 1.var ...