<@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示例的更多相关文章

  1. ASP.NET Web Pages:页面布局

    ylbtech-.Net-ASP.NET Web Pages:页面布局 1.返回顶部 1. ASP.NET Web Pages - 页面布局 通过 Web Pages ,创建一个布局一致的网站是很容易 ...

  2. ASP.NET Web API 开篇示例介绍

    ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...

  3. ASP.NET Web 应用程序及页面生命周期

    以客户端浏览器向 ASP.NET Web 应用程序页面发送请求(Request)为起点,以浏览器收到 Web 服务器的响应(Response)为终点,这一完整的过程被称为"应用程序及页面的生 ...

  4. ASP.NET Web Pages:全局页面

    ylbtech-.Net-ASP.NET Web Pages:全局页面 1.返回顶部 1. ASP.NET Web Pages - 全局页面 本章介绍全局页面 AppStart 和 PageStart ...

  5. ASP.NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  6. 【ASP.NET Web API教程】2 创建各种Web API

    原文 [ASP.NET Web API教程]2 创建各种Web API Chapter 2: Creating Web APIs第2章 创建各种Web API 本文引自:http://www.asp. ...

  7. ASP.NET Web API系列教程(目录)(转)

    注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内 ...

  8. [转]ASP.NET Web API系列教程(目录)

    本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ...

  9. 杂项:ASP.NET Web API

    ylbtech-杂项:ASP.NET Web API ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务. ASP.NET Web A ...

随机推荐

  1. MySQL的timeout那点事

    http://www.mysqlops.com/2011/11/24/mysql_timeout.html

  2. android IPC通信(上)-sharedUserId&amp;&amp;Messenger

    看了一本书,上面有一章解说了IPC(Inter-Process Communication,进程间通信)通信.决定结合曾经的一篇博客android 两个应用之间的通信与调用和自己的理解来好好整理总结一 ...

  3. caffe搭建--caffe在invidia+cpu 酷睿2Q9300 + ubuntu16.04.2上面的安装和编译过程

    本文原创,转载请注明出处. ------------------------------------------------分割线-------------------------------- 概要 ...

  4. html抽取文本信息-java版(适合lucene建立索引)

    import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.beans.StringBe ...

  5. cvpr2014

    http://www.cvpapers.com/cvpr2014.html 吴佳俊 楼天城

  6. Drawing Images and Text

    using System;using UIKit;using Foundation;using CoreGraphics;namespace GraphicsAnimation{ public cla ...

  7. unsigned double

    最近犯了一个错误: 定义变量类型的时候竟然定义了unsigned double的类型.由于编译能够通过,因此一直没有发现这样写会有什么样的问题. 今天一次偶然的测试中发现这些变量的值都是整数.一开始觉 ...

  8. Ubuntu 13.10上用户怎样获得root权限,用户怎样获得永久root权限,假设配置root登录

    一.用户怎样获得root权限: 1. 进入terminal 2. 输入sudo  passwd root   并设置password,提示要你输入两次password.自己设定password,一定要 ...

  9. Boosting AdaBoosting Algorithm

    http://math.mit.edu/~rothvoss/18.304.3PM/Presentations/1-Eric-Boosting304FinalRpdf.pdf Consider MIT ...

  10. linux 脚本统计代码行数

    由于实际需求,需要统计开源产品的代码行数,so,以下命令统计*.c的行数. .h,.java  .同理 find . -name *.c|xargs wc -l