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多个物体运动的问题1
问题2 http://www.cnblogs.com/huaci/p/3854304.html 用js写一个物体的运动很简单.如果一个页面有多个物体在运动,它会不会出问题呢? ok,我们来看一个示例 ...
- uva 1393 - Highways(容斥原理)
题目连接:uva 1393 - Highways 题目大意:给定一个m∗n的矩阵,将矩阵上的点两两相连,问有多少条直线至少经过两点. 解题思路:头一次做这样的题目,卡了一晚上. dp[i][j]即为i ...
- hbase开放lzo压缩
hbase仅仅支持对gzip的压缩,对lzo压缩支持不好. 在io成为系统瓶颈的情况下,一般开启lzo压缩会提高系统的吞吐量. 但这须要參考详细的应用场景,即是否值得进行压缩.压缩率是否足够等等. ...
- 计算机管理系统——VB与Excel联系
今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...
- H. 硬币的水问题II
H. 硬币水题II Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: ...
- LeetCode :: Convert Sorted Array (link list) to Binary Search Tree [tree]
1.Given an array where elements are sorted in ascending order, convert it to a height balanced BST. ...
- Cocos2d-x 3.x plist+png 做动画
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- MongoDB CRUD 基础知识
建立一个良好的发展环境 环境win8 x64,下载并安装省略.经mongodb 的bin文件夹增加windows的path中,为以后使用方便. c盘新建存储目录:c:/data/db 执行服务:WIN ...
- 纯洁CSS实现下拉菜单和下拉容器(纯洁CSS导航栏和导航下拉容器)
虽然网上课程似即使案件大同小异,但我还是写,记笔记,也为您提供参考 我希望你能指导批评~~ 首先,我们必须列出ul li 开始我们的导航栏菜单也能说生产: 在下面的页面,我们先建XHTML结构体: & ...
- HDU 2289 Cup(可以二分法,但是除了它的一半?)
这道题目.运营商做数学题?算上两个子主题做?顶多算一个水主要议题... 首先,没有实际的二分法,但是,我们发现了一个新的解决方案,以取代二分法. 若果按照i从0,每次添加0.00000001我一直枚举 ...