<@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. python(35)- 异常处理

    一 错误和异常 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正)   #语法错误示范一 if #语法错误示范二 ...

  2. HDMI速率计算

    我们在采集HDMI口的数据时,首先肯定要计算它的速率是多少.怎么计算这个速率,本文要跟大家分享的便是这个事情. HDMI口有三个TM-DS(Time Minimized Differential Si ...

  3. 整理自Git文件夹下资料及man手册(不包括书籍)

    $ git commit -awhich will automatically notice any modified (but not new) files, add them to the ind ...

  4. C++ &quot;#&quot;的作用和使用方法

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/48879093 1 #和##的作用和使用 ...

  5. js json按key值排序

    最近有个需求需要把json按key值进行排序,可是js并没有直接的函数可以对json进行排序的这么办呢? 然后想到了一个间接的方法来实现: 1.将json中的key值取出,存在一个数组中,然后对这个数 ...

  6. 关于CSS和CSS3的布局小知识(干货)

    最近在网站偶然看到的这个网站,进去看了下讲的CSS布局,感觉还不错,讲易懂且实用推荐给大家. http://zh.learnlayout.com/

  7. NGUI研究之3D模型坐标转2D屏幕坐标-血条

     刚好今天有朋友问我,比較典型的样例就是游戏里面人物的血条. 原理非常easy就是把3D点换算成2D的点.可是因为NGUI自身是3D所以我们须要先把NGUI下的点转成2D点.然后在把他转成3D的点 ...

  8. EasyDarwin开源流媒体服务器低延时直播之转发缓存跟进算法

    前言 前一段时间,我们为EasyDarwin实现了客户端快速显示画面/听到同步声音的缓存关键帧检索方案,具体的实现方法分别在<EasyDarwin手机直播是如何实现的快速显示视频的方法>和 ...

  9. Servlet学习(1)

    取得HttpSession实例 在Servlet中去个一个Session对象,可以通过HttpServletRequest接口完成. HttpSession ses = request.getSess ...

  10. 基于BASYS2的VHDL程序——数字钟(改进版)

    扩展到时分秒.加了入调时电路,但不知道为什么有两个按键不好使.而且不知道以何种方式假如按键消抖电路,因为加入后会多个时钟控制一个信号,物理不可实现.调试电路待解决.还有,四个数目管中间的那两个圆点怎么 ...