文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>asp.net基础学习(1)

asp.net基础学习(1)

时间:2011-04-12  来源:Bruce.陈

基于ashx方式的ASP.Net开发。主要理解WebForm开发中的 ispostback 和 《请求-处理-响应》的流程。

做了一个ashx方式数字自增页面。

Handler.ashx页面

 

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";//指明页面的显示方式,这里选html
        string ispostback = context.Request["ispostback"];//客户端页面提交上来的表单的值,ispostback用来判断是直接访问还是提交访问
        string number = context.Request["number"];
        string msg;
        if (ispostback == "ture")//判断是直接访问还是提交访问
        {
            int i = Convert.ToInt32(number);
            i++;
            number = i.ToString();
            msg = "用户为提交进入";
        }
        else
        {
            number = "0";
            msg = "用户为直接进入";
        }
        string fullpath = context.Server.MapPath("HTMLPage.htm");//读取HTMLPage.htm的全路径
        string content = System.IO.File.ReadAllText(fullpath);//读取模版页HTMLPage.htm的内容
        content = content.Replace("@value", number);
        content = content.Replace("@msg", msg);//替换页面内容
        context.Response.Write(content);//输出页面

    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

HTMLPage.htm页面

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>无标题页</title>
</head>
<body>
<form action ="Handler.ashx" method ="post">
    <input type ="hidden" value ="ture" name="ispostback" />
    <input type ="text" name="number" value ="@value" />
    <input type ="submit" value="自增" />
    @msg;
</form>
</body>
</html>

以上这个理解,我清楚了《请求-处理-响应》这个web处理模式。服务端不会去读客户端的页面的内容,只会对客户端的请求进行处理,并向客户端作出响应。

这里用<input type ="hidden" value ="ture" name="ispostback" />这个隐藏字段,让服务器明白。客户端是提交进入还是直接进入,在WebForm中函数IsPostback()就是实现这个功能。

WebForm中也是《请求-处理-响应》处理模式,只不过WebForm帮我们做好了一些封装。那些隐藏字段的值,一般被保存在viewstate里面。这个是WebForm自动帮我们做的。。

                                                  

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载