Introduction
In this article, we will take a closer look at how ASP.NET pages post back to themselves, and how to customize this feature in our web applications.
function __doPostBack(eventTarget, eventArgument)
One of the most important features of the ASP.NET environment is the ability to declare controls that run on the server, and post back to the same page. Remember the days of classic ASP? We would create a form which would accept the user's input, and then we would most probably have to create another page that would accept all those inputs, either through HTTP GET or POST, and perform some kind of validation, display and action. Sometimes, even a third page was necessary to perform our actions. This wasted a lot of time and complicated things when you had to make a change. But of course, this is not necessary any more with ASP.NET. There is no need to create second pages that accept the inputs of the first, process them and so on. Form fields and other controls can be declar ......
ajax ÔÚĿǰ web ÁìÓòÒѹ㷺ӦÓã¬ÆäÕæÕýºËÐÄÖ»²»¹ýÊÇÒ»¸ö·â×°ºÃÁ赀 js ¿â¡£×îÎ廨°ËÃŵÄιýÓÚ asp.net µÄ¿Ø¼þ£¬ÎÒ¸öÈËÈÏΪ ajax Ö»ÊÇÒ»¸öÇáÁ¿¼¶µÄ¶«Î÷£¬¸ù±¾Ã»ÓбØÒª½«Ëüд³É·þÎñÆ÷×é¼þ£¬Èç ajax.net¡¢AjaxControlToolkit µÈ¡£ËùÒÔÎÒÒ»Ö±ÊÓÕâЩ×é¼þΪÀ¬»ø¡£¡£¡£
ÒÔÏÂ˵Ã÷ÎÒΪʲô²»ÈÏͬ ajax µÄÏà¹Ø×é¼þ£º
1¡¢½« ajax ·â×°µÃÌ«ËÀ£¬³öÏÖÎÊÌâÄÑÓÚµ÷ÊÔ£»
2¡¢×é¼þ¹ýÓÚÓ·Ö×£¬Ì«¶àûÓÐÓõŦÄÜ£»
3¡¢ÒÀÀµÐÔ̫ǿ£¬ÉÙÒ»Ñù²»¿É£¬Èç webform£»
´«Í³µÄ ajax Ó¦Óõ½ÏîÄ¿ÖУ¬»á³öÏÖÓÉÓÚÏîÄ¿µÄ ajax Ó¦ÓÃÌ«¶à£¬·þÎñ¶ËµÄ ajax ÏìÓ¦º¯ÊýÄÑÓÚ¹ÜÀí£¬ÎÒÃǵ½µ×Òª°ÑÕâЩÏìÓ¦º¯Êý²¿ÊðÔÚʲôλÖã¿
¼ÙÈç
index.aspx ÀïÓÐÈý¸ö ajax ÏìÓ¦º¯Êý£¬ÎÒÃÇ¿ÉÒÔ°ÑÕâÈý¸öÏìÓ¦º¯Êý·ÅÔÚ index.aspx ÖУ¬²¢ÓÚ Page_Load ʼþÖиù¾Ý²ÎÊý²»Í¬À´µ÷ÓÃÕâЩº¯Êý¡£
index.aspx ÀﻹʹÓÃÁË abc.ascx£¬Õâ¸ö¿Ø¼þÀïÃæÒ²Óõ½ÁË ajax£¬ÄÇô abc.ascx ÀïµÄÏìÓ¦º¯ÊýÓÖÓ¦¸Ã·ÅÔÚÄÄÀindex.aspx ÖÐÂð£¿Èç¹û index2.aspx ÖÐÒ²Óõ½ÁË abc.ascx£¬ÄѵÀ»¹Òª¸´ÖÆ index.aspx µÄ´¦Àíº¯Êýµ½ index2.aspx£¬ÕâÑù¿Ï¶¨²»ÐУ»
ÎÒÃÇ¿ÉÒÔн¨Ò»¸ö ajax.aspx À´´¦ÀíËùÓÐµÄ ajax ÏìÓ¦£¬php/as ......
ajax ÔÚĿǰ web ÁìÓòÒѹ㷺ӦÓã¬ÆäÕæÕýºËÐÄÖ»²»¹ýÊÇÒ»¸ö·â×°ºÃÁ赀 js ¿â¡£×îÎ廨°ËÃŵÄιýÓÚ asp.net µÄ¿Ø¼þ£¬ÎÒ¸öÈËÈÏΪ ajax Ö»ÊÇÒ»¸öÇáÁ¿¼¶µÄ¶«Î÷£¬¸ù±¾Ã»ÓбØÒª½«Ëüд³É·þÎñÆ÷×é¼þ£¬Èç ajax.net¡¢AjaxControlToolkit µÈ¡£ËùÒÔÎÒÒ»Ö±ÊÓÕâЩ×é¼þΪÀ¬»ø¡£¡£¡£
ÒÔÏÂ˵Ã÷ÎÒΪʲô²»ÈÏͬ ajax µÄÏà¹Ø×é¼þ£º
1¡¢½« ajax ·â×°µÃÌ«ËÀ£¬³öÏÖÎÊÌâÄÑÓÚµ÷ÊÔ£»
2¡¢×é¼þ¹ýÓÚÓ·Ö×£¬Ì«¶àûÓÐÓõŦÄÜ£»
3¡¢ÒÀÀµÐÔ̫ǿ£¬ÉÙÒ»Ñù²»¿É£¬Èç webform£»
´«Í³µÄ ajax Ó¦Óõ½ÏîÄ¿ÖУ¬»á³öÏÖÓÉÓÚÏîÄ¿µÄ ajax Ó¦ÓÃÌ«¶à£¬·þÎñ¶ËµÄ ajax ÏìÓ¦º¯ÊýÄÑÓÚ¹ÜÀí£¬ÎÒÃǵ½µ×Òª°ÑÕâЩÏìÓ¦º¯Êý²¿ÊðÔÚʲôλÖã¿
¼ÙÈç
index.aspx ÀïÓÐÈý¸ö ajax ÏìÓ¦º¯Êý£¬ÎÒÃÇ¿ÉÒÔ°ÑÕâÈý¸öÏìÓ¦º¯Êý·ÅÔÚ index.aspx ÖУ¬²¢ÓÚ Page_Load ʼþÖиù¾Ý²ÎÊý²»Í¬À´µ÷ÓÃÕâЩº¯Êý¡£
index.aspx ÀﻹʹÓÃÁË abc.ascx£¬Õâ¸ö¿Ø¼þÀïÃæÒ²Óõ½ÁË ajax£¬ÄÇô abc.ascx ÀïµÄÏìÓ¦º¯ÊýÓÖÓ¦¸Ã·ÅÔÚÄÄÀindex.aspx ÖÐÂð£¿Èç¹û index2.aspx ÖÐÒ²Óõ½ÁË abc.ascx£¬ÄѵÀ»¹Òª¸´ÖÆ index.aspx µÄ´¦Àíº¯Êýµ½ index2.aspx£¬ÕâÑù¿Ï¶¨²»ÐУ»
ÎÒÃÇ¿ÉÒÔн¨Ò»¸ö ajax.aspx À´´¦ÀíËùÓÐµÄ ajax ÏìÓ¦£¬php/as ......
using System;
using System.IO;
using System.Web;
namespace SEC
{
/**////
/// ¶ÔÎļþºÍÎļþ¼ÐµÄ²Ù×÷Àà
///
public class FileControl
{
public FileControl()
{
}
/**////
/// ÔÚ¸ùĿ¼Ï´´½¨Îļþ¼Ð
///
///
Òª´´½¨µÄÎļþ·¾¶
public void CreateFolder(string FolderPathName)
{
if(FolderPathName.Trim().Length> 0)
{
try
{
string CreatePath = System.Web.HttpContext.Current.Server.MapPath
("../../../Images/"+FolderPathName).ToString();
if(!Directory.Exists(CreatePath))
{
Directory.CreateDirectory(CreatePath);
}
}
catch
{
throw;
}
}
}
/**////
/// ɾ³ýÒ»¸öÎļþ¼ÐÏÂÃæµÄ×ÖÎļþ¼ÐºÍÎļþ
///
///
public void DeleteChildFolder(string FolderPathName)
{
if(FolderPathName.Trim().Length> 0)
{
try
{
string CreatePath = System.Web.HttpContext.Current.Server.MapPath
(FolderPathName).ToString();
if(Directory.Exists(CreatePath))
{
Directory.Delete(CreatePath,true);
}
}
catch
{
throw;
}
}
}
/**////
......
a.aspx
//ÏÔʾij¸ö¶©µ¥µÄÏêϸÐÅÏ¢£¬Í¨¹ýÒ»¸öģ̬¶Ô»°¿ò£¬¶øÇÒÆÁÄ»»á±äÑÕÉ«
function ShowOrderDetails(orderId) {
var url = "AddMenu.aspx?ID=" + orderId;
var Width="700";
var Height="600";
murl=url;
murl = encodeURI(murl);
var vDialog=window.showModalDialog(murl,window,"dialogWidth:" + Width + "px;dialogHeight:" + Height + "px;center:yes;status:no;scroll:yes;help:no;");
window.location.href =window.location.href; //ˢи¸´°¿Ú
}
</script>
<asp:TemplateField HeaderText="² ......
×î½üÅöµ½Ò»ÎÊÌ⣬ÐèÒªÔÚASP.NetºÍJavaScriptÖд«µÝÊý¾Ý¡£¾ßÌåµÄÐèÇóÊÇÕâÑùµÄ£¬Ò³Ãæpostbackºó½«»áload JS£¬µ«ÊÇÐèÒª¼Çס֮ǰij¸ö״̬£¬Õâ¸ö״̬ÊÇÖ¸JSµÄ״̬£¬Ò²¾ÍÊÇ˵load JSºó£¬»¹Òª¼Çס֮ǰµÄ״̬£¬¶ø²»Êǻص½Ä¬ÈϵÄ״̬¡£
Ò»¿ªÊ¼ÏëÁ˺ܶà°ì·¨£¬µ«¶¼²»³É¹¦£¬ºóÀ´ÎÊÁËÎÊͬÊ£¬·¢ÏÖ¿ÉÒÔͨ¹ýÒþ²ØµÄ±íµ¥ÔªËØÀ´´«µÝÊý¾Ý£¬ËùÒÔÌØ´Ë¼Ç¼ÏÂÀ´¡£
ǰ̨´úÂ룺
<input type="hidden" id="currentTabIndex" name="currentTabIndex" runat="server" />
<script type="text/javascript" language="javascript">
document.getElementById("<%=currentTabIndex.ClientID %>").value = idArray[idArray.length-1].replace(/[^0-9]/gi,'');
</script>
ºǫ́´úÂ룺
Page.ClientScript.RegisterStartupScript(this.GetType(), "InitAndShowTab", "<script>initTabs('" + TabDivID + "',Array(" + TabLabels + "),document.getElementById(\"" + currentTabIndex.ClientID + "\").value," + Width + "," + ......
×î½üÅöµ½Ò»ÎÊÌ⣬ÐèÒªÔÚASP.NetºÍJavaScriptÖд«µÝÊý¾Ý¡£¾ßÌåµÄÐèÇóÊÇÕâÑùµÄ£¬Ò³Ãæpostbackºó½«»áload JS£¬µ«ÊÇÐèÒª¼Çס֮ǰij¸ö״̬£¬Õâ¸ö״̬ÊÇÖ¸JSµÄ״̬£¬Ò²¾ÍÊÇ˵load JSºó£¬»¹Òª¼Çס֮ǰµÄ״̬£¬¶ø²»Êǻص½Ä¬ÈϵÄ״̬¡£
Ò»¿ªÊ¼ÏëÁ˺ܶà°ì·¨£¬µ«¶¼²»³É¹¦£¬ºóÀ´ÎÊÁËÎÊͬÊ£¬·¢ÏÖ¿ÉÒÔͨ¹ýÒþ²ØµÄ±íµ¥ÔªËØÀ´´«µÝÊý¾Ý£¬ËùÒÔÌØ´Ë¼Ç¼ÏÂÀ´¡£
ǰ̨´úÂ룺
<input type="hidden" id="currentTabIndex" name="currentTabIndex" runat="server" />
<script type="text/javascript" language="javascript">
document.getElementById("<%=currentTabIndex.ClientID %>").value = idArray[idArray.length-1].replace(/[^0-9]/gi,'');
</script>
ºǫ́´úÂ룺
Page.ClientScript.RegisterStartupScript(this.GetType(), "InitAndShowTab", "<script>initTabs('" + TabDivID + "',Array(" + TabLabels + "),document.getElementById(\"" + currentTabIndex.ClientID + "\").value," + Width + "," + ......
ÏÂÃæÒª½â¾öµÄÎÊÌâÈçÏ£º
1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º
1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º
1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚ html ÀïÓÿÉÒÔµ÷ÓÃǰ̨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º
  ......
ÏÂÃæÒª½â¾öµÄÎÊÌâÈçÏ£º
1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º
1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º
1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚ html ÀïÓÿÉÒÔµ÷ÓÃǰ̨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º
  ......
ÏÂÃæÒª½â¾öµÄÎÊÌâÈçÏ£º
1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º
1¡¢Ê×ÏȽ¨Á¢Ò»¸ö°´Å¥£¬ÔÚºǫ́½«µ÷Óûò´¦ÀíµÄÄÚÈÝдÈëbutton_clickÖÐ;
¡¡¡¡2¡¢ÔÚǰ̨дһ¸öjsº¯Êý£¬ÄÚÈÝΪdocument.getElementById("btn1").click();
¡¡¡¡3¡¢ÔÚǰ̨»òºǫ́µ÷ÓÃjsº¯Êý£¬¼¤·¢clickʼþ£¬µÈÓÚ·ÃÎʺǫ́c#º¯Êý;
¡¡¡¡·½·¨¶þ£º
1¡¢º¯ÊýÉùÃ÷Ϊpublic
¡¡¡¡ºǫ́´úÂë(°Ñpublic¸Ä³ÉprotectedÒ²¿ÉÒÔ)
public string ss()
¡¡¡¡{
¡¡¡¡¡¡¡¡return("a");
¡¡¡¡}
¡¡¡¡2¡¢ÔÚ html ÀïÓÿÉÒÔµ÷ÓÃǰ̨½Å±¾
<script language=javascript>
¡¡¡¡var a = "<%=ss()%>";
¡¡¡¡alert(a);
</script>
¡¡¡¡·½·¨Èý£º
  ......