解释中各元素含义<%@ Page language="c#" Codebehind="PreDeliver.aspx.cs" AutoEventWireup="false" Inherits="Issue.Pre"%>
Page 是一个指令,language,Codebehind,AutoEventWireup,Inherits分别是这个指令的属性;
language="c#" 表示该页面所使用的语言是C#;
Codebehind="PreDeliver.aspx.cs" 表示该页的后置代码在当前目录下的PreDeliver.aspx.cs文件中;
AutoEventWireup="false" 表示是否自动地将页面的事件和相应的方法绑定到一起,一般这个什要设为false,因为若设为true有可能两次调用相同的事件代码。
Inherits="Issue.Pre"表示页面中的控件是在哪个类中定义的。
.ascx文件
其实它就是用户自定义控件,最大的优点是提取多个页面的公用功能,然后在需要的页面引用它,提高了代码的重用性
使用方法如下:
在你的ASCX文件中写HTML代码,在ASCX.CS文件中写后台逻辑。
在你要引用ASCX文件的ASPX页面头部加上:
<%@ Register TagPrefix=”uc” TagName=”ucSample” Src=”ASCX文件在项目中的相对路径” %>
在需要用到ASCX文件的地方加入:<uc:ucSample ID=”uc1″ runat=”server” />
以后你直接在ASCX文件和ASCX.cs文件里改代码就可以了。
ASPX里面只要保留最基本的HTML元素就可以了,一个页面可以由多个用户控件(也就是ASCX)组成。
在ASCX里面写代码的意义就是可以更灵活开发,而且可以更好的代码复用。你可以开发几个通用的用户控件,就和.net提供的那些控件一样,灵活的放到你用到的各个页面里。而且以后维护的时候只要更改你的一处代码就可以了。
.ashx
ashx是用于写web handler的,即为web应用程序中的一般事务处理程序文件。
通过前台的ajax方法传递值到.ashx文件后然后进行处理,可以返回text/html/script/xml/json这些类型值。
一般事务处理程序可以用来处理生成动态图片、 生成动态文本等不需要回传处理的任务。
以下是部分代码:
- namespace ComtecsolarManager.AjaxServer
- {
- /// <summary>
- /// $codebehindclassname$ 的摘要说明
- /// </summary>
- [WebService(Namespace = "http://tempuri.org/")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- public class PostHandlers : IHttpHandler, IReadOnlySessionState
- {
- HttpContext httpContext;
- static DataTable m_dtEntrustInfo = new DataTable();
- const string m_sConditionFormat = " AND {0} LIKE'%{1}%'";
- public void ProcessRequest(HttpContext context)
- {
- httpContext = context;
- context.Response.ContentType = "text/plain";
- switch (getFormString("method"))
- {
- case "GetCURR":
- GetCURR();
- break;
- case "GetUNIT":
- GetUNIT();
- break;
- case "GetCOUNTRY":
- GetCOUNTRY();
- break;
- case "GetGNoInfoByListNoType":
- GetGNoInfoByListNoType();
- break;
- case "GetGInfoByCopGNo":
- GetGInfoByCopGNo();
- break;
- case "GetNameModelByCopGNo":
- GetNameModelByCopGNo();
- break;
- case "GetCrystalInfo":
- GetCrystalInfo();
- break;
- case "GetSquareInfo":
- GetSquareInfo();
- break;
- case "GetCircleInfo":
- GetCircleInfo();
- break;
- case "GetNameModelQtyByCopGNo":
- GetNameModelQtyByCopGNo();
- break;
- case "CheckStockQty":
- CheckStockQty();
- break;
- }
- }
aspx-->P(Page)
ascx-->C(Control)
ashx-->H(HttpHandler)