aspx文件是用C#或VB.net编写的动态网页文件
由于aspx文件是动态文件,所以只能在存放于服务器中才能正常浏览。如果像html文件一样直接拖至浏览器中,是无法看到应该展示的效果的,只能查看aspx文件的代码。
asp.net的<% %>总结
<%@ %> 主要用于在web页面定义Page、引入控件、组件、设置Cache等:
<%@ Page %>
<%@ Assembly %>
<%@ Import %>
<%@ MasterType %>
<%@ OutputCache %>
<%@ PreviousPageType %>
<%@ Reference %>
<%@ Register %>
<%# %> 主要用来绑定后台数据到前台,一般在后台都需要有对应的DataBind()在执行绑定。
<asp:GridView ID="gvProducts" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%# Eval("ProductName") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<%= %> 主要用于在前台输入后台变量。
<%= Page.IsPostBack %>
<%$ %> 用于在全球化解决方案中,指定前台页面对应的资源项。
<asp:Label ID="lblAmount" runat="server" Text="<%$ Resources:TestSiteResources, TotalAmount %>"></asp:Label>
<%: %>在asp.net mvc项目中绑定ViewData。
<%: ViewData["Message"] %>
ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解
.ASPX 与.CS文件的关系
简单的说,.cs文件一般是实现功能的,而.aspx文件是实现界面效果的
区别:.cs文件里面写的是.net的代码,包括方法和字段,.aspx文件里写的是html代码,再绑定.cs文件里的字段
联系:.aspx文件引导用户去使用.cs文件在后台实现的功能
.aspx.cs文件是实现对.cs文件和.aspx文件起连接作用的文件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="web.index" %>
AutoEventWireup:是否自动绑定页面处理事件,false表示不自动绑定;
Codebehind:指定包含与页关联的类的已编译文件的名称。
Codebehind 属性并不是一个真正的 ASP.NET 属性,在ASP.NET 文档中是找不到它的。
它其实只是一个 Visual Studio .NET 属性,Visual Studio .NET 就是借用这个属性来很好地跟踪管理项目中的 Web 窗体和与之相对的代码隐藏文件,比如当你在设计环境中往 Web 窗体上放入一个服务器控件时,Visual Studio .NET 将自动找到与该 Web 窗体相对应的代码隐藏文件,并自动插入相关的代码。
Inherits:定义当前 Web 窗体所继承的代码隐藏类(该类是 System.Web.UI.Page 的派生类)
ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解
在aspx页面中使用ascx控件
ascx是用户控件,必须嵌入到aspx中才能使用
可以将ascx理解为html中的一部分代码,只是嵌入到aspx中而已。因为aspx内容多的时候不好管理,而且把公共的html部分写在ascx中也可以让许多aspx共用。
注册举例(在页面中使用header控件):
<%@ Register Src="~/_header.ascx" TagPrefix="uc1" TagName="_header" %>
使用header控件:
<uc1:_header runat="server" ID="_header" />
如下图: