ASP.NET中form提交时isPostBack的问题

   在ASP.NET中提交表单时这里将没有输入用户名进入的设置为直接进入,输入用户名进入的设置为提交进入。下面请看程序:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" >
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <form action="Handler2.ashx">
 8 <input  type="hidden" value="true" name="isPostBack"/>
 9 用户名: <input type="text" name="UserName"/><input  type="submit" value="提交"/>
10 </form>
11 </body>
12 </html>

  这是前台的html代码,在代码中定义了一个隐藏input。后面将依靠此字段判断用户是否为提交进入。下面是后台程序:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.IO;
 6 
 7 namespace WebApplication16
 8 {
 9     /// <summary>
10     /// $codebehindclassname$ 的摘要说明
11     /// </summary>
12     
13     public class Handler2 : IHttpHandler
14     {
15 
16         public void ProcessRequest(HttpContext context)
17         {
18             context.Response.ContentType = "text/html";
19             string isPostBack = context.Request["isPostBack"];
20             string fullPath = context.Server.MapPath("HTMLPage1.htm");
21             string Path = File.ReadAllText(fullPath);
22             context.Response.Write(Path);
23 
24             if (isPostBack=="true")
25             {
26                 context.Response.Write("提交进入");
27                
28             }
29             else 
30             {
31                 context.Response.Write("直接进入");
32             }
33         }
34 
35         public bool IsReusable

36         {
37             get
38             {
39                 return false;
40             }
41         }
42     }
43 }

后台程序文件名为Handler2.ashx。当用户直接运行后台程序时,隐藏的input将不会被提交,所以此时会打印出“直接进入”。(此时进行多次刷新,一样会打印‘直接进入’)。
当用户单击了提交按钮后,此时隐藏的input将会被提交,其value为true所以会打印“提交进入”。(单击提交按钮以后再进行多次刷新,也一直会打印‘提交进入’)。

     注意:动态网站的含义是:进行了数据交互的网站叫做动态网站。网站的流程为:浏览器将数据提交给服务器,服务器经过解析然后将结果返回给浏览器,浏览器将结果转化为html代码显示给用户。所以,在学习时必须理解网站的流程才会成为一个真正的网站开发工程师。

posted @ 2012-06-15 01:07  孙进  阅读(1414)  评论(0编辑  收藏  举报