ASP.NET中.aspx⽂件和.aspx.cs⽂件的功能区别和特点
.aspx与aspx.cs区别特点和功能
1)⾸先了解⼀下整个asp⽹站的结构特点
整个⽹站
aspx/cshtml:前台页⾯,区别是编译引擎不⼀样,后者在ASP MVC3中引⼊
.dll:编译后的程序集
.css:样式表
.js:脚本⽂件
.config:配置⽂件,最常见的如 fig
.asax:全局应⽤程序⽂件
.ascx:⽤户控件
.
master:母版页
.cs/.vb:不常见,在WEB站点中需要发布源码时会出现
其它常见的⽂件类型但不必须,如:
.html:静态页⾯
.xml:XML⽂件,通常⽤于保存⽤户数据
.pdb:程序代码调试⽂件
以及其它程序⾃定义的⽂件类型。
常见的⽬录:
bin:程序集所在⽬录
2)
为了实现页⾯与代码分离,将代码写到cs⽂件中,这样编译后,将cs⽂件删除,将程序逻辑全部封装再.dll⽂件中。也可以写到.aspx⽂件中,这样看起来页⾯会很乱。
⾸先在aspx⽂件头添加对.cs⽂件的绑定
.aspx是设计页⾯,⽽.cs是类页⾯,也就是说设计页⾯⽤到的类信息在这个页⾯⾥⾯,其实就是把设计和实现分离开来。 也就是说设计界⾯所⽤的类都存在.cs界⾯内
总体来说可以把aspx⽂件分成三部分:
有run=”server”属性的标签
<% %>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head runat="server">
<title>⽆标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="But_Yes" runat="server" Text="Button"/>
<%int i =10;
this.k = i;
%>
</div>
</form>
</body>aspnet和net的区别
</html>
后台.cs代码:
using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class _Default : System.Web.UI.Page
{
int j =10;//私⽤成员
protected int k=100;//保护成员
protected void Page_Load(object sender, EventArgs e)
{
But_Yes.Text ="确定";
}
}
对此我们来分析⼀下:
到编译的时候,两者会被编译到⼀个⽂件内。
页⾯不是继承cs⽂件。aspx 和 .cs它们是⼀个数组 ,也就是说它们是平级的。
⾄于楼主问的.cs⽂件为什么能访问aspx⾥的id,button等等,只是在.cs类⾥⾯有个Page_Load事件,当⽤户⼀点击button,然后
asp将整个aspx整个页⾯传回到cs,Page_Load中,编译cs时解析才能获得到,然后在将整个aspx页⾯解析成html⽂件⼀起传回页⾯,这也就是为什么当我们点击⼀下页⾯的控件整个页⾯会刷新⼀下的问题,之后才会出来什么ajax控件等技术。
⾄于后台有两个⽂件.cs和designer.cs. ASP不是把后台代码和前台显⽰代码放在⼀起的吗,那样维护起来有点乱,现在改变成asp就把它分开了,但是实际上它们还是在⼀类中,⽤了partial,编译时⽣成在⼀个⽂件存放在dll中的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论