diff --git "a/36 \345\274\240\347\222\220\347\221\266/.keep" "b/36 \345\274\240\347\222\220\347\221\266/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/36 \345\274\240\347\222\220\347\221\266/5.18ASP.NET\345\237\272\347\241\200.md" "b/36 \345\274\240\347\222\220\347\221\266/5.18ASP.NET\345\237\272\347\241\200.md" new file mode 100644 index 0000000000000000000000000000000000000000..f9e5e7f83cf4c023810217804fb9b99e728fc6f7 --- /dev/null +++ "b/36 \345\274\240\347\222\220\347\221\266/5.18ASP.NET\345\237\272\347\241\200.md" @@ -0,0 +1,46 @@ +#### ASP.NET优点 + +1. 与浏览器无关 +2. 将业务逻辑代码与显示逻辑分开 +3. 新的集成开发环境 +4. 简单性和易学性 +5. 用户帐户和角色 +6. 多处理器环境的可靠性 +7. 高效的可管理性 +8. 执行效率的大幅提高 +9. 易于配置和部署 + +#### ASP.NET功能 + +1. 多语言支持 +2. 代码编译执行 +3. 缓存机制 +4. 服务器控件 +5. Web服务 +6. 状态管理 +7. 安全管理 +8. 配置和部署 + +#### 常见的服务端开发技术 + +常见的服务端开发技术: + PHP 、 ASP 、 ASP.NET 、 JSP、 ... +了解ASP: + Active Server Page -- 动态服务器页面,使用vbscript开发后台程序 +ASP.NET: + 基于.NET平台,可以使用C#和VB.NET开发后台应用程序 + ASP.NET主要用来开发Web应用程序 + ASP.NET程序运行在IIS中 + +#### 什么是IIS + +1. 同样是动态网页技术,ASP.NET就像JSP需要Tomcat服务器或者Apache服务器一样,ASP.NET也需要使用Web服务器作为其发布平台,一般使用IIS作为其Web服务器。IIS是Internet信息服务(Internet Information Server)的缩写,是微软的Internet服务器 +2. IIS是Windows Servers 操作系统免费捆绑的组件 +3. IIS是web应用程序运行的服务器 + + + +ASP.NET是创建动态Web页的一种强大的服务器端新技术 +IIS(Internet Information Services,Internet信息服务)是基于Windows服务器的服务,可帮助在任何Intranet或Internet上发布信息 +Web窗体是一项ASP.NET功能,可以使用它为Web应用程序创建用户界面 +Web窗体将Web应用程序分两部分:可视化组件和该页的编程逻辑 \ No newline at end of file diff --git "a/36 \345\274\240\347\222\220\347\221\266/5.19\351\241\265\351\235\242\345\257\271\350\261\241.md" "b/36 \345\274\240\347\222\220\347\221\266/5.19\351\241\265\351\235\242\345\257\271\350\261\241.md" new file mode 100644 index 0000000000000000000000000000000000000000..454d96fce7cf358f6305e3e3192540bc068f01be --- /dev/null +++ "b/36 \345\274\240\347\222\220\347\221\266/5.19\351\241\265\351\235\242\345\257\271\350\261\241.md" @@ -0,0 +1,57 @@ +#### 网页脚本 + +##### 通常网页脚本可以完成哪些任务? + +- 指定输入文本或单击按钮后页面的行为 +- 根据用户的输入或选择将应用程序从一个页面导航至其他页面 +- 收集或存储来自客户端的信息 +- 执行数据库操作,如查询、显示数据库数据等 + +##### 按照脚本执行的位置,网页脚本可分为服务器端脚本和客户端脚本 + +#### 服务器端脚本 + +服务器端脚本也是页面的一部分,它不发送至浏览器,而是在请求页面之后和在回送至浏览器之前由服务器处理这些脚本。 + +#### 客户端脚本 + +客户端脚本是页面的一部分,当用户请求页面时,就将这些脚本发送至浏览器。客户端脚本包含要在客户端执行的脚本代码,通常对客户端事件进行响应。 + +##### 客户端脚本可以实现: + +在将某个页面加载至浏览器或用户单击按钮时,改变页面的外观; +验证用户在窗体中输入的数据,将通过验证的数据发送至服务器; +当触发按钮的单击事件时,在浏览器显示相关的信息。 + +#### 网页生成过程总结 + +1.客户端点击提交按钮或者触发控件的事件 +2.服务器端刷新整个页面 +3.执行page_load事件 +4.执行具体控件的事件并给页面控制赋值 +5.重新生成新页面的HTML +6. 使用Response对象返回包含新数据的html页面 +7.浏览器看到刷新后的页面 + +#### 理解回发 + +产生的时机:当用户操作让表单产生submit时,回发产生。 +原理分析:当前网页被提交给服务处理,处理时会对当前网页再次加载(重新绘制)。 +Load事件:不管是首次加载还是回发,都会触发Load事件 + +#### 总结 + +ASP.NET页文件是含有将在Web上执行代码的文件,其扩展名是.aspx或.ascx + +##### ASP.NET页面中使用两种类型的脚本 + +- 服务器端脚本 +- 客户端脚本 + +事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码 + +在页面加载时引发Page_Load事件。 + +Page.IsPostBack属性用于检查页面是否为首次加载 + +可以使用PreviousPage对象访问前一个页面的控件值 \ No newline at end of file diff --git "a/36 \345\274\240\347\222\220\347\221\266/5.20\345\206\205\347\275\256\345\257\271\350\261\241.md" "b/36 \345\274\240\347\222\220\347\221\266/5.20\345\206\205\347\275\256\345\257\271\350\261\241.md" new file mode 100644 index 0000000000000000000000000000000000000000..37a0e26028e405e956b980672b17a08b88f3fff8 --- /dev/null +++ "b/36 \345\274\240\347\222\220\347\221\266/5.20\345\206\205\347\275\256\345\257\271\350\261\241.md" @@ -0,0 +1,51 @@ +#### Request对象 + +##### Request如何获取传递过来的数据 + +1. QueryString(查询字符串):获取通过URL传递过来的数据 +2. Form(表单数据):获取通过表单提交传输的数据 +3. ServerVariables属性:获取Web服务器变量的集合 +4. Params:以上三种方式传输的内容都可以使用该属性获取 + +#### Response对象 + +Response.Write() + +Response.Redirect() + +#### HTTP协议的无状态 + +##### 理解无状态特性: + +​ 协议对于事务处理没有记忆能力 +​ 对同一个url请求没有上下文关系 +​ 每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的, +​ 它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况 +​ 服务器中没有保存客户端的状态,客户端必须每次带上自己的状态去请求服务器 + +#### ViewState + +ASP.NET专门提供了在一个网页多次请求之间保存信息的对象:ViewState(视图状态)对象 +来模拟“成员变量”的角色。 + +ViewState中保存的数据全部被转换成object类型,取出时 + 务必强制转换成特定类型。 +ViewState只能在同一个页面的连续多次请求之间保存信息, + 页面跳转后信息就会丢失。 + +#### Server对象-UrlEncode&UrlDecode + +##### URLEncode 方法: + +在 HTML 编码中,将文本编码成相应的 HTML 是为了在浏览器中正确地显示 +如果是要求可靠的 HTTP 传输通过 URL 将编码文本从 Web 服务器传送到客户端,该怎么办? +可使用 URLEncode 方法实现此目的。它将文本编码以便于通过 HTTP 进行可靠的传输 + +#### Server对象-MathPath + +##### MapPath 方法: + +Web 应用程序位于 IIS 根目录下的虚拟目录中 +因此,我们请求网页时,引用称为“虚拟路径”的虚拟目录路径。但是经常需要得到 Web 服务器上的 Web 资源的实际物理路径 +用 MapPath 方法,我们可从其虚拟路径得到 Web 资源(如 .aspx 页面)的物理路径 + diff --git "a/36 \345\274\240\347\222\220\347\221\266/5.25\345\206\205\347\275\256\345\257\271\350\261\241\344\270\213.md" "b/36 \345\274\240\347\222\220\347\221\266/5.25\345\206\205\347\275\256\345\257\271\350\261\241\344\270\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..986bd08193a305cadfd3c13826481d58b3c2828e --- /dev/null +++ "b/36 \345\274\240\347\222\220\347\221\266/5.25\345\206\205\347\275\256\345\257\271\350\261\241\344\270\213.md" @@ -0,0 +1,31 @@ +#### Session对象 + +Session 对象用于存储用户的信息 +当新用户请求应用程序的网页时,Server 对象会检查用户是否有 SessionID + +Session 对象包含特定于某个用户的信息 +在用户会话期间可以记录和监视特定于用户的信息 +当会话过期或终止时,服务器就会清除 Session 对象 + +#### Cookie对象 + +在客户端系统中维护客户的个人信息 + +##### Cookie对象的特点: + +​ 存储少量不重要的数据 +​ 存储在客户端的文本文件中,(必须设置有效期,否则不被存储) +​ 安全性差 +​ 存储的数据类型----字符串 +​ 与浏览器窗口无关,但与访问站点有关 +​ 具有特定的过期时间和日期 +​ 在客户端存储后,将随着浏览器对相关网站页面请求一并发送到Web服务器 + +#### Application对象 + +包含所有应用程序的配置设置 +存储所有事件的事件处理程序 +存储在应用程序的根目录下 +它的位置定义应用程序的限界 + +Application对象用于共享应用程序级信息,即多个用户共享一个Application对象。在第一个用户请求ASP.NET文件是,将启动应用程序并创建Application对象。一旦Application对象被创建,它就可以共享和管理整个应用程序的信息。在应用程序关闭之前,Application对象将一直存在。 \ No newline at end of file diff --git "a/36 \345\274\240\347\222\220\347\221\266/5.26\345\237\272\346\234\254\346\216\247\344\273\266.md" "b/36 \345\274\240\347\222\220\347\221\266/5.26\345\237\272\346\234\254\346\216\247\344\273\266.md" new file mode 100644 index 0000000000000000000000000000000000000000..4f35de440ad96c5bcb05f86bac90656de1f004d8 --- /dev/null +++ "b/36 \345\274\240\347\222\220\347\221\266/5.26\345\237\272\346\234\254\346\216\247\344\273\266.md" @@ -0,0 +1,97 @@ +#### Web服务器控件与HTML服务器控件 + +##### Web服务器控件 + +| 运行在客户端 | +| ------------------------------- | +| 没有回发,(无法使用ViewState) | +| 使用JS完成事件处理 | +| 如果需要访问后台,使用JQuery | + +##### ASP.NET服务器控件 + +| 运行在服务器端 | +| ---------------------------------- | +| 有回发,(ViewState) | +| 服务器完成事件处理(C#后台处理程序) | +| 事件驱动模型编程(控件+事件) | + +#### 文本类型控件: Label、 Literal、TextBox、HiddenField + +**Literal控件:**纯文本,不生成任何多于代码(推荐使用) + +**TextBox:**在页面上显示一个可编辑的文本框 + +##### 常用属性: + +​ ReadOnly:获取或设置一个值,用于指示能否更改TextBox控件的内容 +​ TextMode:获取或设置TextBox控件的行为模式 +​ SingleLine:单行 MultiLine:多行 Password:密码(*) + +#### 按钮类型控件: + +常用属性:PostBackUrl(跨页提交)、 CommadName(按钮相关的命令名)、 + CausesValidation:是否激活验证、 + OnclientClick:引发Button控件的Click事件时所执行的客户端脚本 + +#### HyperLink + +功能上与HTML的超链接一致,但是可以在后台动态改变,通过:NavigateUrl属性 + +| **属** **性** | **说** **明** | +| --------------- | ------------------------------------------------ | +| Text | 一段简短的描述性文本,用于指定链接的用途 | +| Target | 链接的目标窗口/框架。 | +| **NavigateUrl** | 单击链接时用户即将链接到的页面网址或URL Redirect | +| ImageUrl | 指定用于链接的图像URL | + +#### 选择类型控件 + +##### ListBox + +| **属性** | **说明** | +| -------------- | -------------------------------------------------------- | +| Items | 获取列表控件项的**集合** | +| SelectionMode | Single Multiple | +| SelectedIndex | 获取或设置列表控件中选定项的最低序号索引 | +| SelectedItem | 获取列表控件中选定项的最低序号索引 | +| SelectedValue | 获取列表控件中选定项的值,或选择列表控件中包含指定值的项 | +| Rows | 获取或设置ListBox控件中显示的行数 | +| **DataSource** | 获取或设置对象,数据绑定控件从该对象中检索其数据项列表 | +| ID | 获取或设置分配给服务器控件的编程标识符 | + +##### DropDownList + +| **名** **称** | **说** **明** | +| --------------------------------------- | ------------------------------------------------------------ | +| **AutoPostBack** **动态显示:****True** | 选择一个列表项时DropDownList控件状态是否发回到服务器的值(True/False) | +| DataMember | 获取或设置数据源中的特定表格以绑定到该控件 | +| DataSource DataBind() | 获取或设置填充列表控件的组成项的数据源 | +| DataTextField | 获取或设置提供列表项文本内容的数源的字段 | +| DataTextFormatString | 获取或设置用于控制如何显示绑定到列表控件的数据的格式字符串 | +| DataValueField | 获取或设置提供列表项文本内容的数据源的字段 | +| Items | 获取或者设置选项的值 | +| 事 件 | 说 明 | +| SelectedIndexChanged | 当从列表控件选择的内容在发布到服务器的操作之间发生变化时发生 | + +##### RadioButton + +| **属 性** | **说 明** | +| --------------- | ------------------------------------------------- | +| AutoPostBack | 当选定内容更改后,自动回发到服务器 | +| RepeatDirection | 获取或设置在RadioButtonList控件了子选项的排列方向 | +| RepeatColumns | 获取或设置要在RadioButtonList控件中显示的列数 | +| RepeatLayout | 获取或设置单选按钮的布局 | +| Items | 列表中项的集合 | +| TextAlign | 获取或设置与控件相关联文本的对齐方式 | + +##### CheckBox + +| **属 性** | **说 明** | +| ---------------- | ------------------------------------------ | +| **AutoPostBack** | 当选定内容更改后,自动回发到服务器 | +| RepeatColumns | 获取或设置CheckBoxList中显示的列数 | +| RepeatDirection | 获取或设置CheckBoxList中各个选项的排列顺序 | +| Items | 列表中项的集合 | +| TextAlign | 获取或设置与CheckBoxList关联文本的对齐方式 | +