¡¡¡¡±¾ÎÄ Bilal Haidar ½«´øÁìÄúÈçºÎʹÓÃDIVÔªËØÀ´´´½¨µ¯³öµÄ´°Ìå,ÕâÖÖµ¯³ö¼´¿ÉÒÔ°üº¬¼òµ¥µÄHTMLÔªËØÒ²¿ÉÒÔ°üº¬ASP.NET·þÎñÆ÷¿Ø¼þ,¶øÇÒÔÚʵÏÖ¹ý³ÌÖÐûÓÐʹÓô«Í³µÄwindowº¯ÊýºÍshowModalDialog / showModelessDialogº¯Êý(´«Í³µÄÎÒÃÇʹÓà window.open,»òÕßshowModalDialog ÕâÑùµÄº¯ÊýÀ´ÖÆ×÷µ¯³ö´°¿Ú--ÌìÌì×¢ÊÍ)
¡¡¡¡×î½üÎÒÔÚÓÃASP.NET1.1¼¼ÊõÀ´¿ª·¢Ò»¸ö´°Ìå,¸Ã´°Ìå°üº¬ÓÉÈý¸ö¿Ø¼þ×é³ÉµÄÒ»¸öÃæ°å¼¯ºÏ,Õâ¸öÃæ°åÓÃÀ´ÏÔʾϵͳÐÅÏ¢.¿ÉÒÔ¼ÙÏëÕâЩ¿Ø¼þÊÇһЩ¼òµ¥µÄÏÂÀ¿ò,µ±µÚÒ»¸öÏÂÀ¿òѡȡºó,µÚ¶þ¸öÏÂÀ¿òµÄÖµ½«ÏÔʾ±»µÚÒ»¸ö¹ýÂ˵Ľá¹û,ͬÑùµÚÈý¸öÏÂÀ¿ò½«¸ù¾ÝµÚ¶þ¸öÏÂÀ¿òµÄÑ¡Ôñ¶ø½øÐиıäÏÔʾ¡£
¡¡¡¡´°ÌåµÄÕâ¸ö¼¼Êõͨ³£±»ÓÃÀ´ÈÃÖն˿ͻ§ÄÇЩ²»ÖªµÀASP.NET¼¼ÊõµÄÈËÔ±»ñÈ¡¸üºÃµÄÓû§ÌåÑé¡£
¡¡¡¡µ±¾ö¶¨Ê¹ÓÃÕâЩ¿Ø¼þµÄÌæ´úƷʹÓÃʱ,ÄúÊÇ·ñÓùýdropdownlist»òÕßÊǾßÓе¯³ö´°Ì幦ÄܵÄTextbox¿Ø¼þ?
¡¡¡¡ºÃÁË,ÎÒÃÇÒѾÓÐÁËÒ»¸öºÜºÃµÄ½â¾ö·½°¸:ʹÓÃTextBox¿Ø¼þ²¢¹Ò¹³OnClickʼþÀ´´¥·¢DIVµ¯³ö´°Ìå,°üÀ¨Ê¹ÓÃListbox¿Ø¼þÀ´Ñ¡ÔñÊý¾ÝµÄÖµ Ò»¸ö²»Ê¹ÓÃÈκγ£¹æpopup´°Ìå»òÕß¹ýʱµÄDropdownlistÀ´Íê³ÉÕâ¸ö¹¦ÄÜ
¡¡¡¡ THE HTML WebForm
¡¡¡¡ÎÒÃÇÒѾ½¨Á¢ÁËÒ»¸ö¼òµ¥µÄWebForm,Ëû°üº¬ÁËһЩTextBox,ÿһ¸öTextBoxÒѾ¸½¼ÓÁËOnClickʼþ£¬ÓÃÒ»¶Îjavascript´úÂëÀ´µ¯³ö´°Ì壬´úÂëÈçÏ£º
£¼%@ Page language="c#" Codebehind="ParentPage.aspx.cs" AutoEventWireup="false" Inherits="PopupWithDiv.ParentPage" %£¾ £¼!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" £¾ £¼HTML£¾ £¼HEAD£¾ ¡¡£¼title£¾Parent Page£¼/title£¾ ¡¡£¼LINK href="main.css" type="text/css" rel="stylesheet"£¾ ¡¡£¼script src="jsPopup.js" type="text/javascript"£¾£¼/script£¾ ¡¡£¼script language="javascript"£¾ ¡¡¡¡£¼!-- ¡¡¡¡¡¡// Prevent users from typing any text ¡¡¡¡¡¡// into the Textbox ¡¡¡¡¡¡function ProtectBox(e) ¡¡¡¡¡¡{return false; }
¡¡¡¡//--£¾ ¡¡£¼/script£¾ £¼/HEAD£¾ £¼body£¾ ¡¡£¼form id="Form1" method="post" runat="server"£¾ ¡¡£¼!-- Header Section --£¾ ¡¡£¼div id="header"£¾ ¡¡¡¡£¼p£¾Popup Window with DIV Layer£¼/p£¾ ¡¡£¼/div£¾ ¡¡£¼!-- Body Section --£¾ ¡¡£¼div id="content"£¾ ¡¡¡¡£¼table border="0" cellpadding="0" cellspacing="0"£¾ ¡¡¡¡£¼tr valign="top"£¾ ¡¡¡¡¡¡£¼td£¾£¼label for="txtCountry"£¾Country :£¼/label£¾£¼/td£¾ ¡¡¡¡¡¡£¼td£¾£¼asp:TextBox ¡¡¡¡¡¡¡¡¡¡id="txtCountry" runat="server" OnKeyDown="return ¡¡¡¡¡¡¡¡¡¡ProtectBox(event);" OnClick="PopupArea(event, 'divCountry')"£¾£¼/asp:TextBox£¾£¼/td£¾ ¡¡¡¡¡¡£¼td width="50"£¾£¼/td£¾ ¡¡¡¡¡¡£¼td£¾£¼label for="txtCity"£¾City :£¼/label£¾£¼/td£¾ ¡¡¡¡¡¡£¼td£¾£¼asp:TextBox ¡¡¡¡¡¡¡¡¡¡¡¡id="txtCity" runat="server" OnKeyDown="return ¡¡¡¡¡¡¡¡¡¡¡¡ProtectBox(event);" OnClick="PopupArea(event, 'divCity')"£¾£¼/asp:TextBox£¾£¼/td£¾ ¡¡¡¡£¼/tr£¾ ¡¡¡¡£¼/table£¾ ¡¡£¼/div£¾ ¡¡£¼%-- Country --%£¾ ¡¡£¼div class="popupWindow" id="divCountry"£¾ ¡¡¡¡£¼table cellSpacing="0" cellPadding="0" width="100%"¡¡bgColor="#2557ad" border="0"£¾ ¡¡¡¡£¼tr£¾ ¡¡¡¡¡¡£¼td align="right"£¾£¼span style="CURSOR: hand" ¡¡¡¡¡¡¡¡onclick="jsAreaClose('divCountry')"£¾£¼img alt="Hide Popup" src="close.gif" ¡¡¡¡¡¡¡¡border="0"£¾£¼/span£¾£¼/td£¾ ¡¡¡¡£¼/tr£¾ ¡¡¡¡£¼tr£¾ ¡¡¡¡¡¡£¼td£¾ ¡¡¡¡¡¡¡¡£¼asp:ListBox id="lstCountry" runat="server" AutoPostBack="True" width="100%" rows="10"£¾£¼/asp:ListBox£¾£¼/td£¾ ¡¡¡¡£¼/tr£¾ ¡¡£¼/table£¾ ¡¡£¼/div£¾ ¡¡£¼%-- City --%£¾ ¡¡¡¡£¼div class="popupWindow" id="divCity"£¾ ¡¡¡¡£¼table ¡¡¡¡¡¡¡¡cellSpacing="0" cellPadding="0" width="100%" ¡¡¡¡¡¡¡¡bgColor="#2557ad" border="0"£¾ ¡¡¡¡£¼tr£¾ ¡¡¡¡¡¡£¼td align="right"£¾£¼span style="CURSOR: hand" onclick="jsAreaClose('divCity')"£¾£¼img alt="Hide Popup" src="close.gif" border="0"£¾£¼/span£¾£¼/td£¾ ¡¡¡¡£¼/tr£¾ ¡¡¡¡£¼tr£¾ ¡¡¡¡¡¡£¼td£¾ ¡¡¡¡¡¡¡¡£¼asp:ListBox id="lsCity" runat="server" AutoPostBack="True" width="100%" rows="10"£¾£¼/asp:ListBox£¾¡¡¡¡¡¡£¼/td£¾ ¡¡¡¡£¼/tr£¾ ¡¡¡¡£¼/table£¾ ¡¡£¼/div£¾ £¼/form£¾ £¼/body£¾ £¼/HTML£¾ ¡¡¡¡´úÂëÖУ¬ÓôÖÌå±ê³öµÄ²¿·ÖÊÇPopup´°ÌåµÄÖ÷ÒªÊôÐÔ£¬ÔÚÊó±êµ¥»÷ʱ£¬½«µ÷ÓÃÒ»¶ËJavaScript£ºPopupArea¡£
¡¡¡¡ÕýÈçÄúËù¿´µ½µÄ£¬ÎÒÃÇÔÚÒ³Ãæµ×²¿Ìí¼ÓÁËÁ½¸öDIVÔªËØ£¬Ò»¸öÓÃÓÚ¹ú¼Ò£¬Ò»¸öÓÃÓÚ³ÇÊУ¬Ã¿Ò»¸ö¶¼°üº¬ListBox¿Ø¼þ£¬Óû§¿ÉÒÔʹÓÃListboxÑ¡ÔñÉÏÃæµÄÄÚÈÝ¡£
¡¡¡¡ÏÂͼ1ÏÖʵÁËÒ³Ãæä¯ÀÀµÄЧ¹û£¬Ëû»¹ÑÝʾÁËÈçºÎµ¯³öDIV´°Ìå

¡¡¡¡µ±µ¥»÷TextboxÄÚ²¿£¬windows½«µ¯³ö´°Ìå¶ø²»»áÒýÆðÒ³ÃæÊý¾Ý»Ø·¢ÏÖÔڸõ½Ìî³äÆäÖÐÊý¾ÝµÄʱºòÁË ¡¡¡¡Page COde-behind
¡¡¡¡ÔÚÒ³Ãæºǫ́£¬ÎÒÃÇ×¼±¸´ÓÒ»¸öXMLÎĵµ¼ÓÔØlist¡°¹ú¼Ò¡±ËùÐèÒªµÄÊý¾Ý£¬Í¬Ê±ÏÔʾ¹ú¼ÒµÄÃû³Æ£¬ÏÂÃæÁгöÁËÕâ¸ö¹¦ÄܵĴúÂ룺
¡¡¡¡Listing 2: Populate Country ListBox
// Load data into Country List box if (!Page.IsPostBack) { ¡¡// Load data from XML into a DataSet ¡¡DataSet ds = new DataSet(); ¡¡ds.ReadXml(Server.MapPath("countries.xml")); ¡¡this.lstCountry.DataSource = ds.Tables[0].DefaultView; ¡¡this.lstCountry.DataTextField = "name"; ¡¡this.lstCountry.DataBind(); } ¡¡¡¡ÔÚÕâÒ»²½ÖèÖУ¬µ±Ò³ÃæÔËÐÐʱ£¬Äú¿ÉÒÔÑ¡Ôñ¹ú¼Ò£¬ÈçÏÂͼ 
¡¡¡¡ÏÖÔÚ£¬µ±Óû§Ñ¡Ôñ¹ú¼Òʱ£¬½«´¥·¢listboxµÄÑ¡Ôñʼþ£¬²¢Í¨¹ý¸Ãʼþ¼ÓÔØ¡°³ÇÊС±Êý¾Ý£¬¸ÃÊý¾ÝͬÑù´ÓXMLÎĵµ¼ÓÔØ ¡¡¡¡ÏÂÃæÁгöÁËʼþ´úÂë ¡¡¡¡Listing 3 private void lstCountry_SelectedIndexChanged(object sender, EventArgs e) { ¡¡// Set the value in the textbox ¡¡this.txtCountry.Text = this.lstCountry.SelectedValue;
¡¡// Load and Filter the lstCity ¡¡DataSet ds = new DataSet(); ¡¡ds.ReadXml(Server.MapPath("cities.xml"));
¡¡DataView dv = ds.Tables[0].DefaultView; ¡¡dv.RowFilter = "country = '" + this.lstCountry.SelectedValue + "'";
¡¡// Bind lstCity ¡¡this.lstCity.DataSource = dv; ¡¡this.lstCity.DataTextField = "name"; ¡¡this.lstCity.DataBind(); } ¡¡¡¡Óû§ÏÖÔÚ¿ÉÒÔÑ¡ÔñÓë¹ú¼ÒÏàÆ¥ÅäµÄ³ÇÊУ¬ÈçÏ 
|