标题:怎样将cs文件编译生成 单独的aspx文件
只看楼主
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
结帖率:81.82%
 问题点数:0 回复次数:1 
怎样将cs文件编译生成 单独的aspx文件
怎样将cs文件编译生成 单独的aspx文件
搜索更多相关主题的帖子: 编译 文件 aspx 
2010-01-19 14:03
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
CS文件为什么要编译生成aspx文件?CS文件可以直接输出网页的内容,就跟JSP的Servlet的原理一样,继承网页的接口就可以。
考虑如下代码
新建一个名为TestWeb的项目
using System;
using System.Collections;
using
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace TestWeb
{
    /// <summary>
    /// ProductView 的摘要说明。
    /// </summary>
    public class TestPage:IHttpHandler,IRequiresSessionState
    {
        #region 类属性
        /// <summary>
        /// 请求对象
        /// </summary>
        private HttpRequest request;
        
        /// <summary>
        /// 应用程序对象
        /// </summary>
        private HttpApplication application;
        
        /// <summary>
        /// 响应对象
        /// </summary>
        private HttpResponse response;
        
        /// <summary>
        /// 会话对象
        /// </summary>
        private HttpSessionState session;
        
        /// <summary>
        /// 服务器对象
        /// </summary>
        private HttpServerUtility server;

        #endregion
        public ProductView()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        #region IHttpHandler 成员

        public void ProcessRequest(HttpContext context)
        {
            // TODO:  添加 BBS_ShowTitle.ProcessRequest 实现
            this.CreateObject(context);
            this.response.Write("<HTML>");
            this.response.Write("<HEAD>");
            this.response.Write("<TITLE>网页输出测试</TITLE>");
            this.response.Write("</HEAD>");
            this.response.Write("<BODY>");
            this.response.Write("<FONT style='font-size:23px;font-family:华文琥珀;color:red'>这是.CS的网页不是.aspx的网页</FONT>");
            this.response.Write("</BODY>");
            this.response.Write("</HTML>");
        }

        public bool IsReusable
        {
            get
            {
                // TODO:  添加 BBS_ShowTitle.IsReusable getter 实现
                return false;
            }
        }

        #endregion

        #region 封装方法
        
        /// <summary>
        /// 创建对象
        /// </summary>
        /// <param name="context">Http上下文对象</param>
        private void CreateObject(HttpContext context)
        {
            this.server=context.Server;
            this.request=context.Request;
            this.response=context.Response;
            this.session=context.Session;
        }
        #endregion
    }
}
然后在Web.config的<httpHandlers>(没有<httpHandlers>标记可以手动添加)添加如下代码
<httpHandlers>
   <add verb="*" path="TestPage.aspx" type="TestWeb.TestPage,TestWeb" />
</httpHandlers>
接下来浏览器里输入
http://localhost/TestWeb/TestPage.aspx
你就会发现代码里的HTML代码被显示出来了,而你在项目文件夹里是找不到TestPage.aspx这个文件的,因为根本不存在。
2010-01-20 11:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296025-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.166994 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved