WebForm概述

WebForm概述WebFormWebFo 分为 aspx aspx cs 两个文件 控件内联的 JavaScriptCS 写在 aspx 中 C 代码写在 aspx cs 中 该模式成为 CodeBehind aspx amp aspx cs aspx 模板 控制页面长相 aspx cs 一般处理程序 控制程序逻辑 cs 可调用 aspx 控件 aspx 中可穿插 C 代

  • WebForm
  1. WebForm分为.aspx .aspx.cs两个文件(控件 内联的JavaScript CSS写在.aspx中 C#代码写在.aspx.cs中(该模式成为CodeBehind))
  2. .aspx & .aspx.cs: 

①.aspx→模板(控制页面长相) .aspx.cs→一般处理程序(控制程序逻辑)

②cs可调用aspx控件/aspx中可穿插C#代码(调用cs成员级别至少为public)

③.aspx文件分为三部分(有runat=“server”属性的标签/<% %>/标准HTML标签) .aspx.cs文件和服务器端控件生成一个类 <% %>生成一个类 后面的类在运行时生成 它继承前面的类 最后这个类再结合.aspx文件中的HTML生成页面文件发送给客户

  • .ashx & .aspx
  1. .ashx文件(一般处理程序) & .aspx文件(高级处理程序): .ashx用于写web handler/适合于生成动态图片 文本等内容
  2. IHttpHandler接口: 定义ASP.Net为使用自定义HTTP Web请求而实现的协定
  3. IHttpHandler.ProcessRequest(HttpContent x)方法: 页面提交时触发
  4. HttpContent: 封装有关个别HTTP请求的所有HTTP特定的信息
  5. HttpRequest(HttpContent.Request): 使ASP.Net能够读取客户端在Web请求期间发送的HTTP值
  6. HttpResponse(HttpContent.Response): 封装来自ASP.Net操作的HTTP响应信息

  • IHttpHandler
  1. (System.Web)IHttpHandler接口: 定义ASP.NET为使用自定义HTTP处理程序同步处理HTTP Web请求而实现的协定
  2. 实现文件下载(基于HTTP协议):
Response.AddHeader(“Content-DisPosition”, “attachment; filename=haha.jpg”); //文件名含中文时需HttpUtility.UrlEncode()
  1. 动态输出优点: 省服务器端资源 重名问题/能直接将生成内容以流的形式输出给浏览器 就不要生成临时文件

  • Page
  1. (System.Web.UI)Page类: 表示从ASP.NET Web应用程序的宿主服务器请求的.aspx文件(又称Web窗体页)
  2. .Request(HttRequest)
  3. .Response(HttpResponse)
  4. .Server(HttpServerUtility)
  5. .IsPostBack
  6. .Sessions
  7. .FindControl(): 根据控件Id寻找控件/一般情况下直接写控件Id就可以引用控件 但对于某些场合(使用ListView等控件的模板 编写自定义控件等)则需使用.FindControl()来找到控件
  8. .AppRelativeVirtualPath: 获得页面相对于应用根目录的虚拟路径
  9. .ResolveClientUrl(): 将虚拟路径转换为相对于当前请求的路径(通常在ListView等控件的模板中输出HTML时使用)
  10. .ResolveUrl(): 将虚拟路径转换为相对于网站根目录的路径

  • 三种控件
  1. HTML控件
ASP.NET将HTML控件当做普通字符串渲染到浏览器端(不做任何处理)
  1. ASP.NET控件
经过ASP.NET高度封装的控件(运行在服务器端/渲染到浏览器端)
  1. runat=server的HTML控件
运行在服务器端/渲染到浏览器端/部分封装(属性多为HTML属性)
与ASP.NET控件相比优点: ①操作方便②会对虚拟路径 id→ClientID进行处理

  • runat=server的HTML控件
  1. a→HtmlAnchor
     form→HtmlForm
     head→HtmlHead
     input→HtmlInputButton HtmlInputCheckBox HtmlInputText… 
     meta→HtmlMeta
     table→HtmlTable
     tr→HtmlTableRow
     td→HtmlTableCell
     title→HtmlTitle
     未单独封装的标签(如div)→HtmlGeneralControl
  1. Runat=server的HTML控件不像ASP.NET控件那样封装严密(如后者的BgColor属性为Color类型 而前者的BgColor属性为字符串类型)

  • 虚拟路径
  1. /(http): 根目录(域名相关)
  2. ../(http): 上级目录
  3. ./(http): 当前目录
  4. ~(ASP.NET): 从应用根目录(Application)开始定义(仅限于服务器端控件可以使用)/ASP.NET推荐用法(~并不会被浏览器识别 因此ASP.NET会将这个路径转换为相对于网站的根目录的全路径再输出到浏览器)
  5. “~”的编程处理: 服务器端控件会自行转换/html控件或需要在代码中转换时可以使用VirtualPathUtility类
  6. (System.Web)VirtualPathUtility类: 为常见的虚拟路径操作提供实用工具方法
.ToAbsolute()—转换为绝对路径
.AppendTrailingSlash()—如果virtualPath最后没有”/”则添加
.Combine(string basePath, string relativePath)—合并两个路径
.GetDirectory()—返回virtualPath的目录部分
.MakeRelative(string fromPath, string toPath)—计算两virtualPath的相对路径

转载于:https://www.cnblogs.com/lesvies/archive/2011/09/20/2182425.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226285.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午11:54
下一篇 2026年3月16日 下午11:55


相关推荐

  • 100多个免费常用API接口分享,调用完全不限次数,以后总用得着![通俗易懂]

    100多个免费常用API接口分享,调用完全不限次数,以后总用得着![通俗易懂]各类无次数限制的免费API接口整理,主要是聚合数据上和APIStore上的一些,还有一些其他的。聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免

    2022年7月3日
    32
  • mysql省市区递归查询_mysql 递归查询

    mysql省市区递归查询_mysql 递归查询1、创建表:DROPTABLEIFEXISTS`t_areainfo`;CREATETABLE`t_areainfo`(`id`int(11)NOT”AUTO_INCREMENT,`level`int(11)DEFAULT”,`name`varchar(255)DEFAULT”,`parentId`int(11)DEFAULT”,`status`i…

    2022年6月15日
    38
  • vue使用qrcodejs2(生成二维码)

    vue使用qrcodejs2(生成二维码)一 cnpminstallq 二 使用页面 importQRcode qrcodejs2 三 HTML 中 divid qrcode 生成二维码的位置 methods 中 qrcode letqrcode newQRCode qrcode divid qrcode

    2026年3月16日
    1
  • VS2022安装教程(超详细)

    VS2022安装教程(超详细)一 学习 C C 语言用什么环境 DevC 很久不在更新 对于 C 语言的标准支持不够好 vc6 0 太古老 98 年的软件了二 那小编推荐什么大家用什么软件 VS2013 及以上版本都行 今天跟大家唠如何安装 VS2022 听说 VS 官网更新了 小伙伴们找不到 VS2019 了 三 VS2019 下载官网 VS2022 官网 https visualstudio microsoft com zh hans rr https www microsoft com zh cn 3 1 点击 VS

    2026年3月16日
    2
  • vue全局变量、全局方法

    vue全局变量、全局方法1 全局变量 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp main js 中设置如下内容页面中使用如下 2 全局方法 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    2026年3月18日
    2
  • halcon中面到面的距离_点到平面的距离计算

    halcon中面到面的距离_点到平面的距离计算点到平面的距离计算如上图所示 假设现在有一平面 S WX b 0 其中 W X 都是向量 现有平面外一点 Q 求 Q 到平面的距离 我们假设平面内有一点 P 并且平面的法向量为 overrightarr n W 1 W 2 cdots W n 那么有 Q 到 S 的距离为 begin split d amp PQ c

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号