bal*_*dre 11 asp.net time load
让我们用一个非常简单的例子来说明如何使用jQuery对页面进行ajaxify ...
$.load("getOrders.aspx", {limit: 25}, function(data) {
// info as JSON is available in the data variable
});
Run Code Online (Sandbox Code Playgroud)
并在ASP.NET(HTML部分)页面(只有一行)
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="getOrders.aspx.cs" Inherits="getOrders" %>
Run Code Online (Sandbox Code Playgroud)
并在ASP.NET(Code Behind)页面中
public partial class getOrders : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string lmt = Request["limit"];
List<Orders> ords = dll.GetOrders(limit);
WriteOutput( Newtonsoft.Json.JsonConvert.SerializeObject(ords) );
}
private void WriteOutput(string s)
{
Response.Clear();
Response.Write(s);
Response.Flush();
Response.End();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是
应该是吗?
protected void Page_Load(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
要么
protected void Page_Init(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
因此,我们可以节省几毫秒,因为我们实际上不需要处理页面的事件,或者Page_Init
在调用方法时缺少某种方法的排序?
PS目前在这两种方法中都可以正常工作,但我只是想了解选择一种方法而不是另一种方法的来龙去脉
Pra*_*ana 11
基本页面生命周期将回答您的问题全文:http://www.codeproject.com/KB/aspnet/ASPDOTNETPageLifecycle.aspx
检查相同的问题答案:Page.Request行为
任何一个都可以工作,因为你实际上是通过调用response.Clear()和response.End()来抛弃页面生命周期.从技术上讲,你甚至可以把这些代码放在prerender中,它会起作用.通过访问Response对象,您基本上会越过页面的头部并在中间跨步切断它,这样您就可以执行更简单的任务.
我假设您根本不想要页面生命周期,只是想从此页面返回JSON?如果是这样,我强烈建议将其作为通用处理程序(ashx)实现.在这种情况下,您只需在Process方法中使用context.Request ["limit"]和context.Response.Write.这样做的好处是,您没有.NET准备页面类和启动页面生命周期的所有开销,而是使用专门用于您正在执行的任务的文件.
理解页面生命周期很好,如其他答案所示,但实际上你根本就没有使用它,你最好完全离开页面类.