广州软件测试

简体版 繁体版

 时代测试 > 网站建设小组 > 王妙 > 技术 > 如何将asp.net的后台cs代码移动到页面上

如何将asp.net的后台cs代码移动到页面上

在做项目时,我们一般会将aspx文件和其后台cs文件分开,然后将后台cs文件编译成dll发布到生产环境中。如果我们项目规定是每周1发布一次,现在发布后第二天客户在其中某个页面发现一个Bug导致业务无法正常处理,这个时候我们项目正在添加新功能,编码还没有完成,不可能为了这一个页面而将这没有完成整个项目重新发布到生产环境中,这个时候怎么办拉?
  我们知道aspx运行有两种模式,一种是编译运行,一种是解释运行.编译运行就是我们将后台c#代码编译成Dll,在aspx页面运行时调用这个dll来执行.而解释执行就是像是asp一样将后台代码和页面代码放在同一个aspx页面上,由IIS解释c#代码来运行.于是我们想到解决办法就是专门针对这个页面把其后台CS代码中的bug修正,测试没有问题了,然后将后台cs文件转移到aspx文件中,让将这个新的aspx文件复制到正式环境中,覆盖原来错误的aspx文件。
  将后台的cs代码转移到页面上主要是做如下操作:
  1.去掉aspx头Page部分的CodeFile属性,这个属性指示了页面的后台文件的文件名.
  2.在Page中添加Inherits属性,这个属性的值是页面后台文件的父类,如果页面的父类是System.Web.UI.Page,那么可以不加这个属性.
&nbsp;&nbsp;3.将后台代码所使用的名字空间添加到aspx的头,使用<%@ Import Namespace="名字空间" %>进行引入.
&nbsp;&nbsp;4.在aspx页面的最下面添加<script runat="server"></script>,然后将后台代码中类里面的所有变量,属性,方法等等都放在script中.
&nbsp;&nbsp;过以上几步我们就可以将后台cs文件转移到aspx页面上,这样让IIS直接解释aspx文件执行,而不是过调用发布后的dll执行.
&nbsp;&nbsp;出于平时需要即时修改一个单独页面,所以我写了一个小程序来自动转换后台cs文件到aspx文件中.
&nbsp;&nbsp;比如一个页面:
&nbsp;&nbsp;aspx页面
&nbsp;&nbsp;<%@ PageLanguage="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
&nbsp;&nbsp;
&nbsp;&nbsp;<!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 runat="server">
   <title>未命名頁面</title>
  </head>
  <body>
   <form id="form1" runat="server">
   <div>
  
   </div>
   </form>
  </body>
  </html>
  对应的后台代码是:
  后台cs代码
  using System;
  using System.Data;
  using System.Configuration;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;
  
  public partial class _Default : System.Web.UI.Page
  {
   protected void Page_Load(object sender, EventArgs e)
   {
   Response.Write(Hello());
   }
   private string Hello()
   {
   return "Hello World";
   }
  }
  我们将这个页面的后台代码写到页面上的代码就是:
  转换后的aspx代码
  <%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>
  <%@ Import Namespace="System" %>
  <%@ Import Namespace="System.Data" %>
  <%@ Import Namespace="System.Configuration" %>
  <%@ Import Namespace="System.Web" %>
  <%@ Import Namespace="System.Web.Security" %>
  <%@ Import Namespace="System.Web.UI" %>
  <%@ Import Namespace="System.Web.UI.WebControls" %>
  <%@ Import Namespace="System.Web.UI.WebControls.WebParts" %>
  <%@ Import Namespace="System.Web.UI.HtmlControls" %>
  
  
  <!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 id="Head1" runat="server">
   <title>未命名頁面</title>
  </head>
  <body>
   <form id="form1" runat="server">
   <div>
  
   </div>
   </form>
  </body>
  </html>
  <script runat="server">
   protected void Page_Load(object sender, EventArgs e)
   {
   Response.Write(Hello());
   }
   private string Hello()
   {
   return "Hello World";
   }
  </script>
Posted @2007-8-6 9:10:56  阅读(360)  评论(2)  
最新更新
  • net1.0升级至ASP.NET2.0问题总结
  • .net Ajax(无刷新技术)

  • 最新评论
    昵称验证码
    <内容请勿超出2000个字,快捷键:Ctrl+Enter>
    公司名片1
    广州时代软件测试
    所属行业:互联网
    联系电话:13760727218
    传真号码:020-85520605
    地址:广州天河科韵路18号
    公司网址http://test1.anyp.com
    电子邮件wazh35@126.com
    经营范围: 广州时代软件测试工作室,是由一帮工作于不同工作岗位,拥有各种技术的精英们组成的。 在他们的成员中,有能在基于为各企业建站丰富的经验,为企业的网站做全面的网站测试,从网站建设质量、用户体验、网络营销等等方面对各公司网站进行评估。 在他们的成员中,拥有以时代潮流的技术,及工作二年的测试经验,为各企业提供资深的软件测试服务,为软件双方的验收提交质量评估报告书,帮助企业提高软件
    个人简介

    王妙
    通过制定并实现年度目标、每月目标、每周目标,甚至每日目标,你就会提高自己的工作效率,使事业迈上一个新台阶。你的奋斗目标是你获得成功的路线图,它们会决定你前进的方向......
    公司 广州时代软件测试
    群组 网站建设小组
    个人首页 个人首页
    我的相册 我的相册
    给我留言 给我留言
    我的栏目
    *快乐天堂
    *技术
    *信息反馈
    *开心结的果
    日期
    copyright xk 图片旁的留言提示