asp.net初识
请求=========处理=============响应
不是服务器读网页、表单,而是我们向服务器提交数据
1、asp.net 服务器端控件是ASP.NET对HTML的封装,ASP.NET会将服务器端控件转换成HTML代码返给浏览器。
2、在服务器端控件的visible属性如果设置为false,那么不会生成相应的HTML代码,控件的HTML都不存在;这与前台的display="none";不一样,后者还会存在相应的html代码
3、aspx文件:用于表述网页的样子
4、aspx窗体中的控件与html中扽控件是一样的
5、Webapplication与Website的区别: a、(Webapplication)在文件中修改代码后必须得重新以浏览器的形式查看才能看到修改后的效果;Website刷新即可看到效果(每次修改以后点击"生成解决方案"也能立即看到修改效果). b、(Website)不需要创建命名空间,但是不利于工程化开发(比如代码出错不容易发现,代码不分命名空间)
6、一般处理程序: ashx: a.html页面中from表单提交地址为(action="XX.ashx")一定要设置name属性 b.在ashx中,通过context.Request["标签name值"];得到文本框输入的值;通过context.Response.Write("XX");向浏览器发送数据;通过
7、aspx中将Web虚拟路径(/images/1.jpg)转换为磁盘全路径(d:/wwww/mysite/images/1.jpg)的方法是 HttpContext.Current.Request.MapPath("/XXX.html")。 ashx中: //读取html模版 string path = context.Server.MapPath("No2.html"); //获得相应的html路径 string concent = System.IO.File.ReadAllText(path); //读取html文件 concent = concent.Replace("占位符",变量); //替换html中占位符的值 context.Response.Write(concent); //输出 string name = context.Request["uName"]; if (string.IsNullOrEmpty(name)) { context.Response.Write("直接进入..."); } else { context.Response.Write(name+"您好"); }
8、asp.net:PostBack——提交回来(刚进入页面的时候,和输入后的内容重新提交给处理程序) ispostback:属性的值来确定页面是第一次呈现还是正在响应回发。IsPostBack=false时表示是第一次请求,当IsPostBack=true时,表示是非第一次请求。 Http 是请求、响应的模型,服务器不会来读取浏览器的网页,能够得到的就是客户端网页提交过来的数据 如果访问 Hello2.ashx ,多次点击刷新,都是 “ 直接进入 ” 如果提交表单,再多次点击刷新,都是 “ 提交进入 ” 所有表单都是提交的以 name 为 key ,以 value 为值的内容,其他属性是不会被提交到服务器的。
9、get与post:get是通过url传递表单值,post通过url看不到 get表单域的值; 传递的数据量是有限的,如果要传递大数据量不能用 get,比如type="file"上传文章、type="password"传递密码或者<textarea>发表大段文章, post则没有这个限制;post会有浏览器提示重新提交表单的问题(是否刷新表单),get则没有(加分的回答)。对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的数据了
10、为什么单使用div服务器取不出值:因为不是服务器读网页、表单,而是浏览器搜集表单中输入的数据,形成请求参数发给服务器。没有把div当前的innerText发给服务器 没有办法将div的值提交给服务器,只有设定了name的input、select、textarea的value属性才会被提交给服务器 解决方法:浏览器需要用一个隐藏字段将上一次的值保存下来——<input type="hidden" name="number" value="@result" /> <div>@result</div>,使得隐藏字段的value与div中的值相同
11.ViewState原理:Label版本的值存到了ViewState中,TextBox版本的不用存,因为TextBox就是input自己就会提交给服务器,不需要隐藏字段 说Input版本(TextBox)自增和Div版本(Label)的不同 他就是用来存一些没有value的标签的值
12.aspx(webform)中设置控件的背景颜色: txt1.BackColor = System.Drawing.Color.Red; 设置宽度:txt1.Width = new Unit(0,UnitType.Pixel);——宽度为0,单位px txt1.Width = new Unit(txt1.Width.Value+10);——控件的宽度每次增加10
13.aspx页面顶部的配置文件增加EnableViewState="false" 意味着页面禁用viewstate,依赖于viewstate的将失效 禁用ViewState以后TextBox版本不受影响,Div版本受影响,因为input的value不依靠ViewState。禁用整个页面的,在aspx的Page指令区加上EnableViewState="false" .内网系统、互联网的后台可以尽情的用ViewState。 即使禁用viewstate在请求没有结束之前,也能读出设置的值 当禁用viewstate就读不到上次客户端的值,写入到浏览器的值不会受影响
14.HTTP无状态协议:服务器不记的上次给了浏览器什么,浏览器需要记住这些值(input就是记到value中,对于其他的值就要放到隐藏字段中,比如ViewState),下次再提交服务器的时候就要把上次的值提交给服务器,让他想起来。 如果要知道上一次的状态,一个方法是在对浏览器响应结束之前将状态信息保存到页面表单中,下次页面再向服务器发出请求的时候带上这些状态信息,这样服务器就能根据这些状态信息还原上次的状态了,类似于去看病的病历本。
asp.net初识的更多相关文章
- ASP.NET 初识Cookie
1.ASP.NET中使用Cookie 0.说明 Cookie存在客户端电脑上,Session存在服务器上,所以保存登录信息等敏感信息时不能使用Cookie,用户个性化设置可以使用Cookie 1.新建 ...
- asp.net——初识多线程
1.首先讲解一下什么是线程(该定义是参考线程的百度百科) 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针( ...
- asp.net --> 初识WCF
对于刚开始接触wcf的同志,可以有效的理解wcf的使用场景. 引用该文章(点击查看),简单的介绍wcf的使用.另一篇文章(点击查看),和上述文章内容差不多.
- 解读ASP.NET 5 & MVC6系列(2):初识项目
初识项目 打开VS2015,创建Web项目,选择ASP.NET Web Application,在弹出的窗口里选择ASP.NET 5 Website模板创建项目,图示如下: 我们可以看到,此时Web ...
- 初识ASP.NET 5中的Sake与KoreBuild
从github上签出基于ASP.NET 5的MVC 6的源代码进行编译,发现有2个编译命令: build.cmd是针对Windows的编译命令,build.sh是针对Mac/Linux的编译命令,这本 ...
- ASP.NET Core 认证与授权[5]:初识授权
经过前面几章的姗姗学步,我们了解了在 ASP.NET Core 中是如何认证的,终于来到了授权阶段.在认证阶段我们通过用户令牌获取到用户的Claims,而授权便是对这些的Claims的验证,如:是否拥 ...
- .net core系列之初识asp.net core
.net core已经发布了2.0版本,相对于1.0的有了很大的完善,最近准备在项目中尝试使用asp.net core,所以就进行了一些简单的研究. 初识asp.net core分为以下几个部分: 1 ...
- ASP.NET Identity入门系列教程(一) 初识Identity
摘要 通过本文你将了解ASP.NET身份验证机制,表单认证的基本流程,ASP.NET Membership的一些弊端以及ASP.NET Identity的主要优势. 目录 身份验证(Authentic ...
- 初识ASP.NET MVC
我们首先从创建ASP.NET MVC项目开始.打开Visual Studio,在文件菜单中选择新建-> 项目,然后在模板中选择Web,接着选择ASP.Net Web应用程序,更改项目名称,点击确 ...
随机推荐
- angularjs 的笔记
angular.copy()深拷贝 angular提供了一个可以复制对象的api--copy(source,destination),它会对source对象执行深拷贝. 使用时需要注意下面几点: 如果 ...
- C++ 11学习和掌握 ——《深入理解C++ 11:C++11新特性解析和应用》读书笔记(一)
因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出 ...
- phalcon: 当删除循环删除一组数据,需要判断影响的行affectedRows
phalcon:有一个表,按日期查找半年以为的数据,由于数据量特别大,不能一次:delete删除数据,否则会造成数据表卡顿,数据库锁死. 那么只能循环的删除数据,每次删除100条左右,知道删除为止., ...
- i.Windows下APR安装过程
1.下载安装native Windows下的APR安装和配置比较简单,可以直接下载Tomcat-native的二进制的版本包: 下载之后的目录结构为: tcnative-1.dll这个库已经包含了AP ...
- 如何使用Notepad++编译运行php
安装编译运行文件的插件.插件-Plugin Manager-Show Plugin Manager. 找到NppExec插件,从这个插件的名字来看就是各位文件的执行.点击Install.需要下载安装, ...
- 如何实现textarea中获取动态剩余字数的实现
工作中遇到一个案例,之前没有写过,今儿啃了半个下午硬是给写出来,灰常又成就感!当然对于js大牛来说这根本不算啥,但是对于我自己的js能力又向前迈出一小步. 案例介绍:我们常见到有的网站有textare ...
- MySql 获取当前节点及递归所有上级节点
-- MySql 获取当前节点及递归所有上级节点 -- 参数说明:resultField:查询返回字段,idd 要查询的资源ID值,idFieldName ID字段名,parentIdFieldNam ...
- DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
最初的界面图如图1-1(全选框ID: cb_checkall DEV控件名称:gcCon ): 要实现的功能如下图(1-2 1-3 1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...
- 读写CSV文件
var allFiles = Directory.GetFiles(@"D:\uploadpdf", "*.csv"); string dataIsNull = ...
- javascript实现列表的点击展开折叠
<script> window.onload = function() { //要折叠的区域 var catalog = document.getElementById("div ...