一、问题引入
在VS2005网站开发过程中,网站发布问题一直是个问题.VS2005创建的网站有几个默认的目录:App_Code,App_Data,App_Themes........
如果是但cs/vb文件,比如UploadFile.cs类UploadFile,这个类文件没有可视的aspx文件,那么这个文件就必须放到App_Code目录下,否则在VS2005网站中,该类是不可访问的.那么放就放进去吧,但是编译的时候(我的VS2005是Team版的,生成没有反应,感觉象是检查了一遍代码,只能使用发布网站来预编译.不知道其他版本怎么样.)问题来了.选择发布网站后,它会让你选择以什么方式发布,一般选默认就可以了.那样生成的dll数量还少点.发布后,在bin目录一般会有App_Code.compiled,App_Code.dll,App_Web_(随机字符).dll,引用的dll等文件.问题就出在这了,如果要做个免虚拟的程序,岂不是可能bin目录会需要放两个App_Code.dll?会不起冲突么?还有,如果程序更改一次需要重新发布,那就完了.看看VS2005干的好事吧.inherits="MyCodeGif, App_Web_vf3ukhnv"本来好好的,一个MyCodeGif.aspx文件,一个MyCodeGif.aspx.cs文件,现在MyCodeGif.aspx文件继承自MyCodeGif, App_Web_vf3ukhnv,可以看出MyCodeGif是MyCodeGif.aspx.cs定义的类,App_Web_vf3ukhnv是bin文件夹中的一个dll文件名.你再尝试发布一次的话,更头疼的问题来了,怎么MyCodeGif.aspx页面又继承自MyCodeGif, App_Web_qwdwqd了?编译后的程序集名字都不一样了!
二、ASP.Net中页面与类的关系
ASP.Net 中,页面是可以继承自类的,可以多重继承。比如MyCodeGif.aspx页面文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="MyCodeGif" %>MyCodeGif.aspx.cs中是这样的
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using FreeCodeNum;
public partial class MyCodeGif : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
&n
| 对此文章发表了评论 |

