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>密 &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[0]);
                model.Username = reader[1].ToString();
                model.Pwd = reader[1].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 = 5;
                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中使用,具体的还是不了解的,就写到这里啦,最近学习的理论知识还没有总结,感觉真的是需要再给点时间理解一下,需要了解清楚在总结。要继续努力!

 

时间: 2024-09-19 09:44:06

ashx的学习的相关文章

ashx文件的使用小结

 这篇文章主要是对ashx文件的使用进行了介绍.需要的朋友可以过来参考下,希望对大家有所帮助 一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下:   Handler.ashx:   代码如下: <%@ WebHandler Language="C#" Class="Handler" %> using System; using System.IO; using S

DotText源码学习——ASP.NET的工作机制

--本文是<项目驱动学习--DotText源码学习>系列的第一篇文章,在这之后会持续发表相关的文章. 概论 在阅读DotText源码之前,让我们首先了解一下ASP.NET的工作机制,可以使我们更好的理解.ASP.NET是Web服务器(IIS)的 ISAPI(Internet Server API)扩展.当IIS接收到客户端浏览器发来的请求后,它根据请求的文件类型确定由哪个ISAPI扩展来处理该请求,并将请求转发给ASP.NET(如 果是ASP.NET处理的相应文件类型的话,如*.aspx.*.

ashx文件的使用[转]

原文:http://www.cnblogs.com/jerry0925/articles/901936.html   Ashx文件,我们可用用来作图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下: Handler.ashx:    1<%@ WebHandler Language="C#" Class="Handler" %> 2using System; 3using System.IO; 4using System.W

ashx是什么文件,如何创建[转]

原文地址:http://www.cnblogs.com/lin614/archive/2008/01/18/1044734.html   ashx是什么文件,如何创建 .ashx 文件用于写web handler的.其实就是带HTML和C#的混合文件.当然你完全可以用.aspx 的文件后缀.使用.ashx 可以让你专注于编程而不用管相关的WEB技术..ashx必须包含IsReusable. 如下例所示 <% @ webhandler language="C#" class=&qu

嘿嘿。今天学习了AJAX的几个方法

原文:嘿嘿.今天学习了AJAX的几个方法                    今天学习了AJAX的几个方法,其实我很早在公司实习的时间就认识了它,但是对它一无所知,也并没有去学习它,今天学习它让我感到很兴奋因为重新了解了它,嘿嘿,下面就来总结一下今天学习的吧.           一.在javascript中写AJAX <script> window.onload = function () { document.getElementById("txtName").onb

?急问:如何获取这个隐藏URL的实际路径?URL=http://wud.jcarle.com/download.ashx?type=ul&amp;amp;amp;id=6 返回一个文件!

问题描述 如何获取这个隐藏URL的实际路径?URL=http://wud.jcarle.com/download.ashx?type=ul&id=6该URL用来下载文件:windows-xp-x86-chs.ulz在网上找了一天,试过很多方法,还是没有得到这个文件的实际路径!!很想知道这个文件的实际路径,哪位知道怎么获取吗?在线等,谢谢!! 解决方案 解决方案二:也就是如何获取这个文件(windows-xp-x86-chs.ulz)的实际路径,比如实际路径:http://wud.jcarle.c

Ajax学习笔记---3种Ajax的实现方法【推荐】_AJAX相关

Ajax:  Asynchronous JavaScript and Xml , 异步js脚本和xml , 常用来实现页面局部的异步刷新, 对提高用户体验有很大帮助. Xml在多语言时较有优势, 但Ajax技术实际上较多采用Json对象而不是Xml来处理数据. (一) Ajax历史....了解性知识 Ajax归属于Web前端开发技术, 与javascript有着异常紧密的联系. Ajax就是一种实现异步通信无刷新的技术, 而这种技术可以有很多种实现方式. 浏览器的鼻祖网景(NetScape)公司

那些年,我还在学习Ajax 学习笔记_AJAX相关

通俗的说,Ajax就是一种网页无刷技术,以提高用户体验,Ajax并不是什么新的技术,只是在那些年才火了起来(Ajax火起来时,哥只知道聊QQ),所以它就备受观注:当然,那些年就开始学习了. 一.完成Ajax请求 1. 在完成这个请求之前,先来了解一下Ajax是什么,它的全名叫异步的javascript与.XML,从名称可以看出,它与javascript和XML有不解之缘,Ajax使用XML地HTTP请求,通过浏览器建立的xmlHttpRequest对象,异步的向服务器发送请求,服务器处理请求后,

Asp.net+jquery+.ashx文件实现分页思路_实用技巧

今天看到一个.java哥们写过的在页面直接请求数据列表的程序代码.它是实现选中客户联系人后,无刷新的弹出div罗列其它联系人列表的功能.忽然想到既然可以请求联系人列表,而且无刷新.那么取复杂的数据列表呢,后来想到了数据分页.我现在用了自己写的一个分页控件.但是效率有时候感觉不是很高,它是以 用户控件+存储过程+分页处理类 来实现分页的.但是无可避免的就碰到了刷新的问题即使分页很快,但是只要这"刷"的一下总是感觉很不爽.而且还要页面编译一遍,还要在服务端处理ViewState.以及其它的