zoukankan      html  css  js  c++  java
  • web程序入门一(一般处理程序 ashx+HTML)

    创建web程序:  通过一般处理程序  创建web应用

      这种方法比较麻烦       不拖控件

    1.先建一个 一般处理程序 *.ashx

    2.再建一个HTML 模板

    在HTML中设置占位符 如 <p>$username</p> <p>$passwd</p>

    在ashx文件中读取HTML文件:

    string filepath = context.Request.MapPath("*.html") 获取该文件的物理路径

    string strhtml = File.ReadAllText(filepath) 读取文件

    strhtml = strhtml.Replace("$username","张三").Replace("$passwd","123456") 多个占位
    符可以接着写 替换占位符

    context.Response.Write(strhtml); 返回页面



     该方法常用方法:

    关于post和get请求的:

    接收post请求提交过来的数据

    string  userName = context.Request.Form["txtName"] ;     txtName是文本框的name属性值

    如果表单是以post方式提交过来的,接收时必须用Request.Form来接收,表单元素必须有name

    属性,而Form指定的键的名称就是name的属性值。

     对于发送post/get请求的form表单网页,会自动向一般处理程序发送请求

    当后端只是需要获得请求的数据,且不需要返回给前端时,不需要读取前端页面

    有占位符时,需要读取文件,再替换

    后端数据需要返回给前端时,需要读取前端页面文件

     接收get请求发送过来的数据

    string  userName = context.Request.QueryString["txtName"]; 

    如果是get请求接收用Request.QueryString,

    表单元素必须有name属性,指定的键的名称就是name的属性值。

    对安全性要求不高的表单用get请求,安全性要求高的用post请求

    使用get请求时分享地址可以看到对方的搜索结果:有利于推广

    注册登录都用post  post请求发送的数据比get请求大  如上传文件

     表单提交,在HTML文件中,form标签的action属性,指明要提交数据到那个一般处理程序

    后端返回到前端的文件类型:

    context.Response.ContentType = "text/plain";

     context.Response.ContentType = "text/html";

    跳转重定向:

     context.Response.Redirect(" est.ashx")    

    context.Response.Redirect(" est.html") 

     接收文件 文件上传

    <input  type="file"   enctype=""   value ="fileup">

    HttpPostedFile  file = context.Request.Files["fileup"];  接收文件数据

    file.FileName  获得完全文件名

    文件下载:

    对于压缩包:

    <a  href ="/aa.rar">下载</a>    直接这样,点击就可以下载      一般不这么用

    对于普通文件下载:

    <a  href ="/download.aspx">下载</a>

    创建一个一般处理程序 download.aspx

    string  encodeFileName = HttpUtility.UrlEncode("aaa.txt");  //要下载的文件名

    HttpUtility.UrlEncode的作用是中文文件名时,防止乱码,

    context.Response.AddHeader("Content-Disposion", string .Format("attachment; filename = {0}" , encodeFileName));

    //在响应头加上Content-Disposition, attachment 表示以附件的形式下载

    context.Response.WriteFile("aaa.txt")  //输出文件内容

    http协议无状态:

    可以通过如下方式记录数据

    1.隐藏域

    <input  type ="hidden"   name="add"  value = “$id”>

    放一个值在隐藏域中,提交form表单时,该隐藏域中的值也会被提交

    提交表单时,可以把用户看不见的数据,但是需要提交到服务端的数据通过隐藏域传递

    修改<div>标签中的值

    提交只能提交表单中的数据,不能提交div中的内容

    不同方式创建网站的区别:

    通过  新建--网站

    创建web网站没有命名空间;

     当需要调用类时,把需要引用的类文件,放在App_code文件夹中

    web网站每一个页面(ashx)页面都是一个独立程序,一个页面出错了,不会影响另外一个页面。

    网站中每个页面,都生成对应的程序集,名称是随机的,当文件保存以后,请求会自动保存一下。

    如果你对文件中的代码改动了,ASSembley.GetExecutingAssembly().Location会重新编译生成一个新的

    程序集,如果没有改动,则不生成。

    通过 新建--项目

    创建web应用程序有空间;

    项目中建立一个文件或是修改了一个文件,一定要重新生成,生成的目的就是将项目生成对应的dll文件

    放到bin/Debug目录下,(并且所有的类放在了该程序集中),如果项目中的一个文件出错了,是没办法

    生成成功的。

    在实际生产中,使用web应用程序 通过项目建网站

  • 相关阅读:
    Part 3:视图和模板--Django从入门到精通系列教程
    Part 2:模型与后台管理admin站点--Django从入门到精通系列教程
    Part 1:请求与响应--Django从入门到精通系列教程
    java的static关键字
    接口
    final关键字
    抽象类
    动态绑定多态
    对象转型2
    对象转型1
  • 原文地址:https://www.cnblogs.com/mayyan/p/7866989.html
Copyright © 2011-2022 走看看