Asp.Net第一章入门之后台处理程序

简介: Asp.Net第一章入门之后台处理程序

Asp.Net

C#-->OOP-->Winform--Asp.Net

1.新建空项目

2.建立html页面

login.html

  <form action="handler/LoginHandler.ashx" method="post">
         账户:<input type="text" name="uname" /><br />
         密码:<input type="password" name="pwd" /><br />
         <button type="submit">提交</button>
     </form>

3.测试test.ashx

aspx:Web窗体设计页面。Web窗体页由两部分组成:视觉元素(html、服务器控件和静态文本)和该页的编程逻辑(VS中的设计视图和代码视图可分别看到它们对应得文件)。VS将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建

ashx:.ashx文件是主要用来写web handler的。使用.ashx 可以让你专注于编程而不用管相关的web技术。我们熟知的.aspx是要做html控件树解析的,.aspx包含的所有html实际上是一个类,所有的html都是类里面的成员,这个过程在.ashx是不需要的。ashx必须包含IsReusable属性(这个属性代表是否可复用,通常为true),而如果要在ashx文件用使用Session必须实现IRequiresSessionState接口.

3.1 查看源码,理解HttpRequest、HttpResponse

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 namespace demo01.handler
 {
     /// <summary>
     /// test 的摘要说明
     /// </summary>
     public class test : IHttpHandler
     {
         public void ProcessRequest(HttpContext context)
         {
             context.Response.ContentType = "text/plain";
             context.Response.Write("Hello World");
         }
         public bool IsReusable
         {
             get
             {
                 return false;
             }
         }
     }
 }

3.2 handler/LoginHandler.ashx

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 namespace demo01.handler
 {
     /// <summary>
     /// LoginHandler 的摘要说明
     /// </summary>
     public class LoginHandler : IHttpHandler
     {
         public void ProcessRequest(HttpContext context)
         {
             context.Response.ContentType = "text/html";
             //context.Response.Write("Hello World");
             //我们下面的工作,就是需要通过请求对象,接受网页的数据
             string uname = context.Request.Params["uname"].ToString();
             //context.Response.Write(uname);
             string pwd = context.Request.Params["pwd"].ToString();
             //下一步需要判断,判断如果成功,则显示一句话,否则显示一句话 
             if ("admin".Equals(uname) && "123456".Equals(pwd))
             {
                 context.Response.Write("<font color='red'>成功登录!</font>");
             }
             else {
                 context.Response.Write("<font color='blue'>登录失败!</font>");
             }
         }
         public bool IsReusable
         {
             get
             {
                 return false;
             }
         }
     }
 }


目录
相关文章
|
3月前
|
前端开发 JavaScript 安全
入门Vue+.NET 8 Web Api记录(一)
入门Vue+.NET 8 Web Api记录(一)
135 4
|
20天前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
37 2
|
30天前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
52 8
|
30天前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
44 0
|
2月前
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
172 11
|
2月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
2月前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
|
2月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
2月前
|
开发框架 .NET Java
C#/.NET/.NET Core自学入门指南
C#/.NET/.NET Core自学入门指南
|
3月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接