asp.net中页面封装的总结
时间:2010-09-02 来源:stealyouheart
通过在网上搜索整理,终于实现对封装后的dll调用,将步骤写下,方便以后查阅
一、新建网站项目,建立一个要封装的aspxweb页面test.apsx
二、使用aspxnet_compiler.exe预编译
第一步:切换到aspnet_compiler.exe所在目录
在“命令提示符”下,切换到所在目录“c:\windows\microsoft\framework\v2.0.50727”。
第二步:运行aspnet_compiler.exe预编译
aspnet_compiler -v /Aspnet -p D:\aspnet D:\www
-v是虚拟目录参数,Aspnet 为虚拟目录名称,而D:\aspnet 是指要编译的项目无力地址,D:\www是指编译后输出的地址。编译后在D:\www的目录bin下有一个App_Web_7ll9u-pq.dll文件,这便是需要的东西。
三、网站调用
在对App_Web_7ll9u-pq.dll添加引用后,我暂时了解有2种方式可以调用。
1,在页面继承
建立一个无后台的空页面,将页面头部的Inherits属性更改为"chinapaySend,App_Web_7ll9u-pq" 之后运行页面就会得到和封装前chinapaySend.aspx页面运行相同的效果
<%@ Page Language="C#" AutoEventWireup="true" Inherits="chinapaySend,App_Web_7ll9u-pq" %>
2,webconfig配置
在Asp.Net应用程序配置文件web.config的system.web节的httpHandlers节添加aspx到dll的映射项,语法如下:
<add verb="*" path="aspx文件名" type="类名,dll文件" />
aspx文件:需要被“路由”的虚拟名称,扩展名必须是aspx,否则IIS会先于Asp.Net运行环境处理该文件。
dll文件: dll文件(应用程序集)的名称,不必输入“.dll”。ASP.NET 首先在应用程序的专用 \bin 目录中搜索程序集 DLL,然后在系统程序集缓存中搜索程序集 DLL。
类名: 由于一个dll可能会有多个名称空间或多个类,因此必须指明当dll调用时自动加载哪个类。
例如,某一Asp.Net应用程序的web.config文件如下:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="chinapaySend.aspx" type="chinapaySend, App_Web_7ll9u-pq" />
</httpHandlers>
</system.web>
注意:chinapaySend.aspx可以不写全部路径,写页面名称即可