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 ...
随机推荐
- 设计Mysql索引的原则
1. 搜索的索引列,不一定是所要选择的列.换句话说,最适合索引的列是出如今WHERE 子句中的列,或连接子句中指定的列,而不是出如今SELECT keyword后的选择列表中的列. 2. 使用惟一索引 ...
- linux下一个oracle11G DG建立(一个):准备环境
linux下一个oracle11G DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...
- jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器
最近看到很多有用的论坛html5视频播放的发展,音乐播放功能,大多数都在寻找答案.所以,我在这里做一个demo.对于大家互相学习.html5开发越来越流行,至于这也是一个不可缺少的一部分的视频. 如何 ...
- Redis于windows在安装
下载的windows版本号是redis-2.0.2,解压到D盘下: D:\redis-2.0.2 进到该文件夹下,有下列文件: redis-server.exe:服务程序 redis-check-du ...
- Tomcat—怎样在Tomcat Webserver下部署Web项目
总结一下怎样在Tomcat Webserver下部署Web项目:
- LinuxDLL加载优化方案
作者:zhanhailiang 日期:2014-10-26 linux程序动态库载入流程简单介绍 linux从程序(program或对象)变成进程(process或进程),简单说来须要经过三步: fo ...
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
(—)通过mysql workbench 创建一个数据库,在这里命名为company,然后建一个tb_employee表 (二)以下是java代码对表tb_employee的操作 1 创建一个Empl ...
- 【ASP.NET】关于iframe的两个技巧
原文:[ASP.NET]关于iframe的两个技巧 最近在给朋友写个网站,虽然不大,但是也碰到了一些问题.这篇就为解决ASP.NET中关于IFRAME的两个很现实的问题提供解决方法.PS:呵呵,又做了 ...
- 左右sqlplus一些方法用于汇总
SQL> select * from v$version where rownum=1; BANNER --------------------------------------------- ...
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
原文:第三章--使用系统函数.存储过程和DBCC SQLPERF命令来监控SQLServer(3) 本文为这个系列最后一篇.将是如何使用DBCC命令来监控SQLServer日志空间的使用情况. 前言: ...