HTML页面
<html> <form action="Page1.aspx"> <input type="text" name="UserName" value="Jim"> <input type="submit" value="提交"> </form> </html>
-------------------------------------------------------------Page1.aspx处理页面(一般处理程序) public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; string mappath = context.Server.MapPath("Page1.aspx");//获取Page1.aspx的路径 string con = System.IO.File.ReadAllText(mappath); //读取mappath的内容 context.Response.Write(con); 将内容写入(画出)到浏览器端 //在这里判断用户是否是第一次进入页面(即:用户不是在向服务器在提交表单) string name=context.Request["UserName"];//获取一下name属性为UserName表单的值。如果能获取到值那么用户就是提交了表单而进入页面。否则用户就是第一次进入页面 if (string.IsNullOrEmpty(name)) //如果没有获取到name属性为UserName表单的值。 { context.Response.Write("直接就进入网页了,即用户第一次进入页面。并没有提交表单"); } else { context.Response.Write("提交表单后,经过处理后进入的网页(也就是说网页是经过提交表单后重新画出来的)"); } }
这样用户每次提交表单的时候,不管其他有name属性的表单值是否为空,hidden这个表单的值是一定能提交出去,并且能获取到这个值的(因为我已经将hidden表单的值设为一定不能为空) 那么我们就用这个hidden表单的的值是否为空来判断用户是否为提交表单而进入页面(即:用户不是第一次进入页面)
<html> <form action="Page1.aspx"> <input type="hidden" name="ispostback" value="true"> <input type="text" name="UserName" value=""> <input type="submit" value="提交"> </form> </html>
//if(ispostback)就表示用户是第一次进入页面。if(!ispostback)就表示用户是提交表单进入,非第一次进入页面 //-------------------------------------------------------------Page1.aspx处理页面(一般处理程序) public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; string mappath = context.Server.MapPath("Page1.aspx");//获取Page1.aspx的路径 string con = System.IO.File.ReadAllText(mappath); //读取mappath的内容 context.Response.Write(con); //将内容写入(画出)到浏览器端 //在这里判断用户是否是第一次进入页面(即:用户不是在向服务器在提交表单) string ispostback=context.Request["ispostback"];//获取一下name属性为ispostback表单的值。如果能获取到值那么用户就是提交了表单而进入页面。否则用户就是第一次进入页面 if (string.IsNullOrEmpty(ispostback)) //如果没有获取到name属性为ispostback表单的值。 { context.Response.Write("直接就进入网页了,并没有提交表单"); } else { context.Response.Write("提交表单后,经过处理后进入的网页(也就是说网页是经过提交表单后重新画出来的)"); } }
原文地址:http://blog.csdn.net/fanbin168/article/details/41115115