IsPostBack原理
来源:互联网 发布:福田网络布线 编辑:程序博客网 时间:2024/05/22 17:01
获取一个值,该值指示页是第一次呈现还是为了响应回发而加载。
如果是为响应客户端回发而加载该页,则为true(客户端提交表单);否则为false(第一次加载)。
IsPostBack
是页面类的一个属性,用来判断页面是提交表单呢,还是首次访问的一个标记。
提交表单时:提交到服务器的表单元素一定要设置name属性(名字),id是设给Dom和jquery用的,服务只认name。
首先新建一个isPostBack.htm页面:
<form action="isPostBack.ashx"><!--提交到一般处理程序去处理--><input type ="hidden" name="ispostback" value="true" /><!--一个隐藏字段,用来提交标记给服务器处理程序--><!--Something else-->This is ispostback.htm page content!<input type="submit" value="提交" /></form>
该htm页面提交数据到isPostBack.ashx一般处理程序去处理。isPostBack.ashx做如下处理:
public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/html";string oldContent = File.ReadAllText(context.Server.MapPath("IsPostBack.htm"));context.Response.Write(oldContent);//读取ispostback.htm作为模版,重新画一个,用来模拟第一次请求服务器。string ispostback=context.Request["ispostback"];//接受来自htm页面提交的隐藏字段//如果能取得提交的内容,则表明此次处理是提交表单请求。if (ispostback == "true"){context.Response.Write("提交表单进入(是postback的)");}else{context.Response.Write("首次进入!(不是postback的)");}}
这样的话,如果你首次在浏览器中访问isPostBack.ashx,打印出的是isPostBack.htm的内容和一个首次进入(不是postback)的标记。
点击按钮后会显示提交表单进入的。这就是ASP.NET的IsPostBack的原理。
ashx是一个服务器处理程序,页面form提交到服务器的数据都是调用他来处理,其实aspx也是处理程序,只不过是通过.Net封装之后的处理程序,继承自ashx。
我猜测:aspx页面就是一个模版,相当于上面的isPostBack.htm,里面封装了ispostback的隐藏字段,而aspx.cs就是处理程序。提交的处理请求都是给它处理,然后再读模版,把要该的内容画回去。
原文:http://www.2cto.com/kf/201104/88679.html
0 0
- IsPostBack原理
- IsPostBack原理详解
- IsPostBack原理详解
- .Net IsPostback的原理
- IsPostback的原理【转】
- IsPostback
- IsPostBack
- IsPostBack
- IsPostBack
- ispostback
- IsPostBack
- IsPostBack
- IsPostBack
- IspostBack
- ispostback
- ispostback
- ispostback
- isPostback
- Apache HttpComponents
- Oracle将字符编码从GBK转到UTF8会产生哪些后果,如何操作比较稳妥?
- Python 菜鸟学习第八课
- uva 154 rails
- EAS客户端登录windows server 2008上EAS服务端的端口问题。
- IsPostBack原理
- 我问你,java中的标记接口(Marker interface pattern)有啥用?
- Wow, Mangos登录时的SRP6认证
- 设计模式
- Leetcode: Minimum Window Substring
- 结构体内存对齐问题
- JBoss 系列九十三: 高性能非阻塞 Web 服务器 Undertow
- arm-linux-gcc交叉编译器的下载地址
- C/C++中##与#的使用