原文: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>密 &nbsp;码:</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的学习的更多相关文章

  1. 对ASP.NET运行机制之 一般处理程序ashx的学习

    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中 ...

  2. 学习笔记05一般处理程序ashx

    1.获取由表单传过来的参数var value1 = HttpContext.Request["健"]; 2.使得网站目录下的相对路径转化为绝对路径:(用于文件操作)var file ...

  3. CS Coder学习asp.net5个月的最大感悟:从http的角度重新认识asp.net(二)——我理解的ajax(二)

    啊哈,时隔两个月,才开始写上一篇文章的后续,实在是惭愧.主要是年尾公司又来活了,忙得团团转,而且这段时间在自学mvc.我在上文中,提到过我对mvc框架的初步印象是:相比webform,算是回归了bs本 ...

  4. CSS3学习总结——实现瀑布流布局与无限加载图片相册

    首先给大家看一下瀑布流布局与无限加载图片相册效果图: 一.pic1.html页面代码如下: <!DOCTYPE html> <html> <head> <me ...

  5. 分享一个html+js+ashx+easyui+ado.net权限管理系统

    EasyUI.权限管理 这是个都快被搞烂了的组合,但是easyui的确好用,权限管理在项目中的确实用.一直以来博客园里也不少朋友分享过,但是感觉好的要不没源码,要不就是过度设计写的太复杂看不懂,也懒得 ...

  6. knockout学习笔记10:demo

    前面已经介绍了ko的基本用法,结合官方文档,基本就可以实际应用了.本章作为ko学习的最后一篇,实现一个简单的demo.主要集中在ko,所以后台数据都是静态的.类似于博园,有一个个人文章的分类列表,一个 ...

  7. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...

  8. ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

    开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再 ...

  9. ASP.Net开发基础温故知新学习笔记

    申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...

随机推荐

  1. android学习经常使用的数据文件夹

    android工程实践 1.仿360一键清理实现(一) "一键清理"是一个桌面图标,点击图标后,显示一个视图.进行清理动画.之后显示清理了几个进程,释放了多少M内存.点击" ...

  2. 关于.net MVC5+EF6 网站部署的问题

    创建mvc web application,采用code first 的方式,MVC5,EF6.0 整了一个网站.开发完之后.直接publish.就这样部署到服务器上了. 在使用过程中发现,网站打开的 ...

  3. FTP文件操作之获取文件列表

    前面已经介绍了很多关于FTP对文件的操作,今天再跟大家介绍一个获取文件列表的功能.这个功能应该算是最简单的一个了,它只是获取了一下文件信息,而没有进行实质上的数据传输. 下面是是该功能的核心代码:   ...

  4. DFA和trie特里实现敏感词过滤(python和c语言)

    今天的项目是与完成python开展,需要使用做关键词检查,筛选分类,使用前c语言做这种事情.有了线索,非常高效,内存小了,检查快. 到达python在,第一个想法是pip基于外观的c语言python特 ...

  5. 表的顺序结构---重写Arraylist类

    重写ArrayList类,为防止冲突,重写为MyArrayList,未继承Iterable类. public class MyArrayList<AnyType>{ int N=10; A ...

  6. FTP上传文件时 System.Net.WebException: 基础连接已经关闭: 接收时发生错误。

    在c#中使用HttpWebRequest时,频繁请求一个网址时,过段时间就会出现“基础连接已经关闭: 接收时发生意外错误”的错误提示.将webRequest的属性设置成下面的,经测试可以解决.Syst ...

  7. VirtualBox创建虚拟电脑、执行Genymotion模拟器报错

    当安装完Genynition关于Android应用的调试模拟器之后,在Genymotion执行的平台virtualBox:VirtualBox创建虚拟电脑.执行Genymotion模拟器报错: 错误卖 ...

  8. dapper支持oracle游标

    dapper支持oracle游标 Dapper是一个轻型的ORM类.它有啥优点.缺点相信很多朋友都知道了,园里也有很多朋友都有相关介绍,这里就不多废话. 如果玩过Oracle都知道,存储过程基本都是通 ...

  9. 在Ceph创建虚拟机的过程改进分析

    作为个人学习笔记分享.有不论什么问题欢迎交流! 近期在Gerrit中看到一个change:https://review.openstack.org/#/c/94295/ , 它主要是对当前在Ceph中 ...

  10. pyspark简要原则

    概要 这是一个看前一段时间spark的python支持的时,有点简单的后pyspark内python代码,我们把一个一般流程.虽然几乎没有python,但基本上能看懂pyspark它是如何使不同的虚拟 ...