原文件webform2.aspx
html首行:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WebApplication1.WebForm2"%>重命名为 test2.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="test2.aspx.vb" Inherits="WebApplication1.WebForm2"%>为什么 Inherits="WebApplication1.WebForm2" 这段没有任何改变(仍然是 WebForm2 而不是 test2 ) 它有什么用的?
html首行:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WebApplication1.WebForm2"%>重命名为 test2.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="test2.aspx.vb" Inherits="WebApplication1.WebForm2"%>为什么 Inherits="WebApplication1.WebForm2" 这段没有任何改变(仍然是 WebForm2 而不是 test2 ) 它有什么用的?
解决方案 »
- GridView DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" 还是显示无效?
- 有做过RSS的吗?麻烦进来下。请教几个小问题,谢谢~!
- tabcontainer中的gridview无法进行即时绑定
- 数据集出错
- [求助]DropDownList连动DataGrid问题!
- ajax新年第二问。。请N人进来指教一下
- forms验证中系统所发的Cookie为什么不会过期?
- 哈哈,找到了asp.net1.1里面的一个bug。大家来讨论一下!
- ASP .net MVC5中怎么实现frameset 的效果
- 在treeview中 如何获得节点的 父节点
- 那么当把程序给别人使用时候,要把 webctrl_client 放到根目录下才行,如果是虚拟主机商提供的主机怎么办?
- 由于种种原因,我想将DataGrid的TemplateColumn用程序动态生成,这样的TemplateColumn如何动态生成?
Codebehind="test2.aspx.vb" 是自动改的, Inherits="WebApplication1.WebForm2" 不能改变 应该是有原因的,望高手指教
Inherits Inherits="Inherits="System.Web.UI.Page"
这样就表示继承了webform对象,应该能适用于所有aspx网页
当改变WebForm2.aspx.vb的名字后,服务当然着不到文件,需要手动改
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="System.Web.UI.Page" %>
输出如下html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
<BODY></BODY></HTML>
很有必要介绍一下Codebehind属性和Inherits属性。ASP.NET较之ASP一个最大的进步,就是实现了Web开发中HTML 代码(负责呈现用户界面)和程序代码(负责实现业务逻辑)的分离。ASP.NET页面在运行时,首先时被解释加以编译成为一个类,这个类继承了Inherits属性指定的预先编译在程序集中的类,然后ASP.NET页面编译后生成的类被启动来处理请求(注意:继承的方式在ASP.NET2.0中已被取消,在2.0版本中,页面连同程序代码编译成同一类)。有了上面的叙述,我们可以知道Codebehind属性指示了ASP.NET页面所要继承父类的代码文件(提示:在ASPX页面中添加了WEB控件后,然后打开页面对应的代码文件,查看父类代码发生了那些变化,你将了解上述的ASP.NET页面执行模式)。
Codebehind记录这个页面的代码在哪个文件中。
Inherits是说本页在编译的时候是继承哪个类的。而我们在重命名后,只是表面的文件名发生了变化,而代码文件里的代码并没有发生变化,就是说那个class的名字并没有发生变化,所以就是楼主说的Codebehind发生了变化,而Inherits并没有发生变化。
如果想改的话,只有在代码文件里把对应的class名给改了,然后再把Inherits也改了!
指定包含与页关联的类的已编译文件的名称。该属性由 Visual Studio .NET Web 窗体设计器使用。设计器从该属性中获取页类的位置,以便创建页类的实例供您设计时使用。例如,如果在 Visual Studio 中创建名为 WebForm1 的 Web 窗体页,对于 Visual Basic,设计器将指定 Codebehind 属性值为 WebForm1.aspx.vb,对于 C# 则为 WebForm1.aspx.cs。该属性不能在运行时使用。