ASP.NET Web应用程序修改页面Inherits示例

摘要:
在ASP。NET 2.0版时,应使用CodeFile属性指定源文件的名称,并使用Inherits属性指定类的完全限定名称。Inherits为页面继承定义了代码隐藏类。如果包含,ASP.NET将尝试使用ClassName属性的命名空间加载Inherits属性中引用的类。)有关代码隐藏类的更多信息,请参阅ASP。NET网页代码模型。在ASP。NET 2.0中,将代码隐藏源文件链接到页面的首选方法是使用Inherits属性指定类,使用CodeFile属性指定类的源文件路径。

<@page 中 Codebehind 、Inherits 和aspx的关系

CodeBehind 
指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。

说明: 
提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。在 ASP.NET 2.0 版中,应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。
 

CodeFile 
指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。

Inherits

定义供页继承的代码隐藏类。它可以是从 Page 类派生的任何类。此属性与 CodeFile 属性一起使用,后者包含指向代码隐藏类的源文件的路径。Inherits 属性在使用 C# 作为页面语言时区分大小写,而在使用 Visual Basic 作为页面语言时不区分大小写。

如果 Inherits 属性不包含命名空间,ASP.NET 将检查 ClassName 属性是否包含命名空间。如果包含,ASP.NET 将试图使用 ClassName 属性的命名空间加载 Inherits 属性中引用的类。(这假定 Inherits 属性和 ClassName 属性使用同一命名空间。)

有关代码隐藏类的更多信息,请参见 ASP.NET 网页代码模型。

ClassName 
一个字符串,指定在请求页时将进行动态编译的页类的名称。此值可以是任何有效的类名,并且可以包括完全限定的类名。如果未指定该属性的值,则已编译页的类名将基于页的文件名并使用默认命名空间 ASP。如果指定的 ClassName 属性的值没有完整的命名空间,将结合使用命名空间 ASP 与指定的类名以创建完全限定的类名。

其他页可以通过使用 @ Reference 指令来引用分配给第一页的类名。

说明: 
可以使用 .aspx 页的完全限定类名在代码隐藏页类中引用关联的 .aspx 页类的成员。但是,如果预编译启用了源代码保护的网站,则代码隐藏页类与 .aspx 页类不在同一程序集中。因此,代码隐藏文件中引用的类将不起作用。有关预编译的更多信息,请参见 ASP.NET 预编译概述。
 

Src 
指定包含链接到页的代码的源文件的路径。在链接的源文件中,可以选择将页的编程逻辑包含在类中或 代码声明块中。

可以使用 Src 属性将生成提供程序链接到页。有关更多信息,请参见 BuildProvider 类。另外,在低于 2.0 版的 ASP.NET 中,Src 属性是另一种将代码隐藏文件链接到页的方法。在 ASP.NET 2.0 中,将代码隐藏源文件链接到页的首选方法是使用 Inherits 属性来指定类,并使用 CodeFile 属性来指定该类的源文件的路径。

demo

代码 

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Inherits 属性为命名空间(liuxiang)+类名称(InheritClass)  InheritClass需继承Page
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="liuxiang.InheritClass" %>

<!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>
        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <asp:Label ID="labName" runat="server" ></asp:Label>
        <asp:Button ID="btnName"      runat="server" Text="确定" onclick="Button1_Click"/>
    </div>
    </form>
</body>
</html>
Default.aspx.cs 中的代码 由于<%@ Page 中Inherits指向的是类InheritClass所以在代码文件中无法引用到页面中的任何控件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace liuxiang
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
          
        }
       
    }
}

InheritClass代码 继承System.Web.UI.Page 可直接引用控件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
namespace liuxiang
{
    public partial class InheritClass : System.Web.UI.Page
    {
        //TextBox txtName;
        //Label labName;
        //Button btnName;
        protected void Button1_Click(object sender, EventArgs e)
        {
            labName.Text = this.txtName.Text;
            
        }
    }
}

 这种方式可以有个好处能把页面中所有的代码都封装到类文件中然后可以对这个dll进行加壳这样对代码可以进行一个有效的保护

不过这种方式在asp.net web应用程序中可执行!但是在如果是Web网站这种方式好像不行一直提示

 ASPNET: 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。

这个错误!

还望那位高手指教~~~~~

免责声明:文章转载自《ASP.NET Web应用程序修改页面Inherits示例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux磁盘分区扩容python基础之读取xml下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java的四种引用:强引用、软引用,弱引用和虚引用

强引用 在Java中使用如下方式声明的引用是强引用 String str = new String("abc"); str 是堆中对象new String("abc")的强引用,被强引用的对象在任何时候gc不会被回收,即使内存不足汇报OOM。 软引用  在Java中使用如下方式声明的引用是软引用 SoftReference<Car> b =...

UNIX环境编程学习笔记(22)——进程管理之system 函数执行命令行字符串

lienhua342014-10-15 ISO C 定义了 system 函数,用于在程序中执行一个命令字符串。其声明如下, #include <stdlib.h> int system(const char *cmdstring); system 函数在其实现中调用了 fork、exec 和 waitpid 函数。system 函数调用...

C#读写Excel的几种方法

1 使用Office自带的库 前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Microsoft.Office.Interop.Excel 读写代码如下: 1 using Microsoft.Office.Interop.Excel; 2 using Excel = Microsoft.Offic...

4、zabbix基本配置入门

Zabbix监控流程:Host group --> Hosts(向server端添加被监控主机) --> Application(在agent定义) --> Items(在applications内部定义) --> Triggers --> Events(触发器触发后产生事件) --> Actions(定义处理动作:...

Mac下也能用抓包工具Fiddler

一直以来都是在Windows底下工作,对于抓包工具,自然而然当属Fiddler最最出色。不过Fiddler是在.Net runtime环境下运行的,所以想要在Mac下使用,有些困难。 在试过了Charles、Rythem、TinyProxy和NProxy这些抓包工具后,我依然苦恼,它们有的需要支付昂贵的费用,有的只支持本机网页请求代理,而有些界面只有文本模...

JDBC1

1.jdbc的概述   是sun公司统一提供的一套接口规范,各个数据库生产商提供实现   注册驱动,获得连接,获得执行的SQL语句对象,释放资源 package com.learn.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExc...