亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

讓ASP.NET簡便使用SCRIPT

2019-11-18 17:14:28
字體:
來源:轉載
供稿:網友

在開發asp.net應用程序過程中編寫Script是件很煩人的事情,其實我們可以把常用的Script裝成相應的.NET組件在服務端調用,這樣可以大大簡化Script的編寫還提高的Script的重用.

以下是常用的打開模式窗體并獲取返回值的類調用,實際上可以給設置多個參數傳入和不同控件獲取不同返回值的結果.

定義打開窗體并設置返回值腳本類.
Hfsoft.Web.Scripts.ShowModalDialog dialog=new HFSoft.Web.Scripts.ShowModalDialog(
    XXX.Units.Config.WebBoot+"Appunit/WindowOpenDialog.aspx",
    FrmFailureLogSearch.PageURI());
dialog.Height=400;
dialog.Width=600;
dialog.ReturnElements.Add(new HFSoft.Web.Scripts.ReturnElement(this.txtReturn.ClientID,"ReturnString"));
HFSoft.Web.Scripts.RegisterScript.RegiOnClick(cmdSearch,dialog);

打開窗體設置返回值的代碼
HFSoft.Web.Scripts.ReturnValues returnValue=new HFSoft.Web.Scripts.ReturnValues();
returnValue.Add("ReturnString",filter);
HFSoft.Web.Scripts.RegisterScript.RegiPageClient(this,"return",returnValue);

打開窗體類的代碼(其實很多Script都可以通過這樣的方式來封裝).
 
00006     namespace HFSoft . Web . Scripts

00007     {

00008         /// <summary> 

00009         /// 創建打開窗體腳本類 

00010         /// 注意:返回值參數據接收的數據格式必須 

00011         /// key=value|key1=value1|..... 

00012         /// </summary> 

00013         public class ShowModalDialog : IExecuteScript

00014         {

00015             PRivate const string _Dialog ="window.showModalDialog({0},' ',' dialogHeight : { 1 } px ; 

                     dialogWidth : { 2 } px ; edge : Raised ; center : Yes ; help : No ; resizable : No ; status : No ; scroll : 

                     Yes ;');" ;

00016             #region IExecuteScript 成員

00017             private bool mParent = false ;

00018             /// <summary> 

00019             /// 是否需要加載父指向 

00020             /// </summary> 

00021             public bool Parent

00022             {

00023                 get

00024                 {

00025                     // TODO: 添加 SetElementsValue.Parent getter 實現 

00026                     return mParent ;

00027                 }

00028                 set

00029                 {

00030                     // TODO: 添加 SetElementsValue.Parent setter 實現 

00031                     mParent = value ;

00032                 }

00033             }

00034             private string GetParent ()

00035             {

00036                 if ( Parent )

00037                     return "parent." ;

00038                 return "" ;

00039             }

00040             /// <summary> 

00041             /// 構造對象 

00042             /// </summary> 

00043             /// <param name="pageContainer">容器頁</param> 

00044             /// <param name="openPage">具本打開的頁面</param> 

00045             public ShowModalDialog ( string pageContainer , string openPage )

00046             {

00047                 PageContainer = pageContainer ;

00048                 OpenPage = openPage ;

00049             }

00050             public const string PageUrlTag ="pageurl" ;

00051             /// <summary> 

00052             /// 生成腳本 

00053             /// </summary> 

00054             /// <returns>string</returns> 

00055             public string Execute ()

00056             {

00057                 // TODO: 添加 ShowModalDialog.Execute 實現 

00058                 string url ="' " + PageContainer +" ? pageurl ='+" + GetPage ();

00059                 url = string . Format ( _Dialog , url , Height , Width );

00060                 url = GetParent () + url ;

00061                 if ( ReturnElements . Count >0)

00062                 {

00063                     url = "var getvalue=" + url +";if(getvalue != null){" ;

00064                     foreach ( ReturnElement item in ReturnElements )

00065                     {

00066                         url +=  item . GetScript ( GetParent ());

 

--------------------------------------------------------------------------------


00067                     }

00068                     url +="}" ;

00069                     return url +";" ;

00070                 }

00071                 return url +";" ;

00072             }

00073     

00074             #endregion 

00075             private string mPageContainer ;

00076             /// <summary> 

00077             /// 獲取或設置容器頁(包含路徑) 

00078             /// </summary> 

00079             public string PageContainer

00080             {

00081                 get

00082                 {

00083                     return mPageContainer ;

00084                 }

00085                 set

00086                 {

00087                     mPageContainer = value ;

00088                 }

00089             }

00090             private string mOpenPage ;

00091             /// <summary> 

00092             /// 打開的頁(包含路徑) 

00093             /// </summary> 

00094             public string OpenPage

00095             {

00096                 get

00097                 {

00098                     return mOpenPage ;

00099                 }

00100                 set

00101                 {

00102                     mOpenPage = value ;

00103                 }

00104             }

00105             private int mHeight =400;

00106             /// <summary> 

00107             /// 獲取或設置打開窗體的高度 

00108             /// </summary> 

00109             public int Height

00110             {

00111                 get

00112                 {

00113                     return mHeight ;

00114                 }

00115                 set

00116                 {

00117                     mHeight = value ;

00118                 }

00119             }

00120             private int mWidth =400;

00121             /// <summary> 

00122             /// 獲取或設置打開窗體的寬度 

00123             /// </summary> 

00124             public int Width

00125             {

00126                 get

00127                 {

00128                     return mWidth ;

00129                 }

00130                 set

00131                 {

 

--------------------------------------------------------------------------------


00132                     mWidth = value ;

00133                 }

00134             }

00135             private  ReturnElementCollections mReturnElements = new ReturnElementCollections ();

00136             /// <summary> 

00137             /// 獲取返回值元素集 

00138             /// </summary> 

00139             public  ReturnElementCollections ReturnElements

00140             {

00141                 get

00142                 {

00143                     return mReturnElements ;

00144                 }

00145             }

00146             private ParameterCollection mParameters = new ParameterCollection ();

00147             /// <summary> 

00148             /// 獲取打開頁面的參數集 

00149             /// </summary> 

00150             public ParameterCollection Parameters

00151             {

00152                 get

00153                 {

00154                     return mParameters ;

00155                 }

00156             }

00157             private string GetPage ()

00158             {

00159                 if ( Parameters . Count ==0)

00160                     return "' "+OpenPage+" '" ;

00161                 System . Text . StringBuilder sb = new System . Text . StringBuilder ();

00162                 sb . Append ("' "+OpenPage+" '" );

00163                 string param ="" ;

00164                 string parent = GetParent ();

00165                 for ( int i =0; i < Parameters . Count ; i ++)

00166                 {

00167                     if ( Parameters [ i ]. Element == ElementType . Element )

00168                     {

00169                         param ="' " + Parameters[i].Name +" =' + " + parent +"document.all(' 

                                 "+Parameters[i].Value + " ').value" ;

00170                     }

00171                     else if ( Parameters [ i ]. Element == ElementType . Select )

00172                     {

00173                         param ="' " + Parameters[i].Name +" =' + " + parent +"__getSeletedButton(" + parent +

                                 "document.all(' "+Parameters[i].Value + " '))" ;

00174                     }

00175                     if ( i ==0)

00176                     {

00177                         sb . Append ("+' "+System.Web.HttpUtility.UrlEncode(" ?") +" '+" + param );

00178                     }

00179                     else

00180                     {

00181                         sb . Append ("+' "+System.Web.HttpUtility.UrlEncode(" &") +" '+" + param );

00182                     }

00183                 }

00184                 return sb . ToString ();

00185             }

00186             

00187             

00188             

00189         }

00190         #region subClass

00191         public enum ElementType

00192         {

00193             None ,

00194             Element ,

00195             Select

 

--------------------------------------------------------------------------------


00196         }

00197             /// <summary> 

00198             /// 參數描述類 

00199             /// </summary> 

00200             public class Parameter

00201             {

00202                 /// <summary> 

00203                 /// 構造參數對象 

00204                 /// </summary> 

00205                 public Parameter ()

00206                 {

00207                 }

00208                 /// <summary> 

00209                 /// 構造指定名稱和值的參數對象 

00210                 /// </summary> 

00211                 /// <param name="name">參數名稱</param> 

00212                 /// <param name="value">參數值</param> 

00213                 public Parameter ( string name , string value )

00214                 {

00215                     Name = name ;

00216                     Value = value ;

00217                 }

00218                 /// <summary> 

00219                 /// 構造指定名稱和值的參數對象 

00220                 /// </summary> 

00221                 /// <param name="name">參數名稱</param> 

00222                 /// <param name="value">參數值</param> 

00223                 /// <param name="iselement">值是否元素名稱</param> 

00224                 public Parameter ( string name , string value , ElementType element )

00225                 {

00226                     Name = name ;

00227                     Value = value ;

00228                     Element = element ;

00229                 }

00230             

00231                 private string mName ;

00232                 /// <summary> 

00233                 /// 獲取或設置參數名稱 

00234                 /// </summary> 

00235                 public string Name

00236                 {

00237                     get

00238                     {

00239                         return mName ;

00240                     }

00241                     set

00242                     {

00243                         mName = value ;

00244                     }

00245                 }

00246                 private string mValue ;

00247                 /// <summary> 

00248                 /// 獲取或設置參數值 

00249                 /// </summary> 

00250                 public string Value

00251                 {

00252                     get

00253                     {

00254                         return mValue ;

00255                     }

00256                     set

00257                     {

00258                         mValue = value ;

 

--------------------------------------------------------------------------------


00259                     }

00260                 }

00261                 private  ElementType mElement = ElementType . None ;

00262                 /// <summary> 

00263                 /// 獲取或設置參數值是否參數名稱 

00264                 /// </summary> 

00265                 public  ElementType Element

00266                 {

00267                     get

00268                     {

00269                         return mElement ;

00270                     }

00271                     set

00272                     {

00273                         mElement = value ;

00274                     }

00275                 }

00276             }

00277             public class ParameterCollection : System . Collections . CollectionBase 

00278             {

00279                 public Parameter this [ int index ]  

00280                 {

00281                     get  

00282                     {

00283                         return ( ( Parameter ) List [ index ] );

00284                     }

00285                     set  

00286                     {

00287                         List [ index ] = value ;

00288                     }

00289                 }

00290     

00291                 public int Add ( Parameter value )  

00292                 {

00293                     return ( List . Add ( value ) );

00294                 }

00295     

00296                 public int IndexOf ( Parameter value )  

00297                 {

00298                     return ( List . IndexOf ( value ) );

00299                 }

00300     

00301                 public void Insert ( int index , Parameter value )  

00302                 {

00303                     List . Insert ( index , value );

00304                 }

00305     

00306                 public void Remove ( Parameter value )  

00307                 {

00308                 

00309                     List . Remove ( value );

00310                 }

00311     

00312                 public bool Contains ( Parameter value )  

00313                 {

00314                     // If value is not of type Int16, this will return false. 

00315                     return ( List . Contains ( value ) );

00316                 }

00317     

00318             }

00319             /// <summary>


--------------------------------------------------------------------------------


 

00320             /// 返回值接收元素描述類 

00321             /// </summary> 

00322             public class ReturnElement

00323             {

00324                 /// <summary> 

00325                 /// 構造對象 

00326                 /// </summary> 

00327                 /// <param name="id">接收值的元素ID</param> 

00328                 /// <param name="key">對應值的鍵值</param> 

00329                 public ReturnElement ( string id , string key )

00330                 {

00331                     ID = id ;

00332                     Key = key ;

00333                 }

00334                 private string mID ;

00335                 /// <summary> 

00336                 /// 獲取或設置元素ID 

00337                 /// </summary> 

00338                 public string ID

00339                 {

00340                     get

00341                     {

00342                         return mID ;

00343                     }

00344                     set

00345                     {

00346                         mID = value ;

00347                     }

00348                 }

00349                 private string mKey ;

00350                 /// <summary> 

00351                 /// 獲取或設置對應值的鍵值 

00352                 /// </summary> 

00353                 public string Key

00354                 {

00355                     get

00356                     {

00357                         return mKey ;

00358                     }

00359                     set

00360                     {

00361                         mKey = value ;

00362                     }

00363                 }

00364                 /// <summary> 

00365                 /// 獲取操作腳本 

00366                 /// </summary> 

00367                 /// <returns>string</returns> 

00368                 public string GetScript ( string parent )

00369                 {

00370                     return parent +"document.all(' "+ID +" ').value=" + parent +"__AnalyseString(' "+Key +" 

                             ',getvalue);" ;

00371                 }

00372             }

00373             public class ReturnElementCollections : System . Collections . CollectionBase

00374             {

00375                 public ReturnElement this [ int index ]  

00376                 {

00377                     get  

00378                     {

00379                         return ( ( ReturnElement ) List [ index ] );

00380                     }

 

--------------------------------------------------------------------------------


00381                     set  

00382                     {

00383                         List [ index ] = value ;

00384                     }

00385                 }

00386     

00387                 public int Add ( ReturnElement value )  

00388                 {

00389                     return ( List . Add ( value ) );

00390                 }

00391     

00392                 public int IndexOf ( ReturnElement value )  

00393                 {

00394                     return ( List . IndexOf ( value ) );

00395                 }

00396     

00397                 public void Insert ( int index , ReturnElement value )  

00398                 {

00399                     List . Insert ( index , value );

00400                 }

00401     

00402                 public void Remove ( ReturnElement value )  

00403                 {

00404                 

00405                     List . Remove ( value );

00406                 }

00407     

00408                 public bool Contains ( ReturnElement value )  

00409                 {

00410                     // If value is not of type Int16, this will return false. 

00411                     return ( List . Contains ( value ) );

00412                 }

00413             }

00414             #endregion 

00415     }

下載例子和相關源碼


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二粉嫩精品国产一线天| 亚洲欧美色图片| 国产精品欧美亚洲777777| 成人精品视频在线| 在线日韩第一页| 91国产美女在线观看| 欧美多人乱p欧美4p久久| 136fldh精品导航福利| 一夜七次郎国产精品亚洲| 欧美激情在线播放| 国模视频一区二区三区| 国产精品福利在线观看| 国产成人一区二区在线| 国产精品视频白浆免费视频| 成人久久久久久久| 亚洲人成电影在线| 国产精品免费电影| 色综合视频网站| 成人福利在线视频| 久久精品视频在线观看| 色综合伊人色综合网站| 日韩在线视频线视频免费网站| 国产精品久久久久久久久影视| 国产在线日韩在线| 欧美人与物videos| 欧美激情手机在线视频| 亚洲天堂影视av| 在线视频一区二区| 亚洲欧美中文字幕| 国产精品高潮呻吟久久av野狼| 午夜精品一区二区三区在线| 久久久久久亚洲精品中文字幕| 欧美性猛交xxxx免费看| 亚洲人成人99网站| 日韩欧美国产黄色| 欧美巨猛xxxx猛交黑人97人| 久久国产精品久久国产精品| 最近2019年中文视频免费在线观看| 日韩美女在线播放| 在线观看精品自拍私拍| 久久天堂电影网| 原创国产精品91| 国产精品∨欧美精品v日韩精品| 亚洲直播在线一区| 欧美日韩美女视频| 国产精品色悠悠| 欧美在线www| 欧美与黑人午夜性猛交久久久| 亚洲国产高清自拍| 日韩小视频网址| 日韩av片免费在线观看| 国产精品一二三视频| 日韩av在线播放资源| 欧洲成人在线视频| 日韩电影免费在线观看中文字幕| 97在线看免费观看视频在线观看| 欧美午夜精品久久久久久人妖| 成人福利在线观看| 欧美激情一区二区三级高清视频| 亚洲新声在线观看| www国产91| 精品女同一区二区三区在线播放| 亚洲国产97在线精品一区| 亚洲专区在线视频| 国产一区在线播放| 97久久超碰福利国产精品…| 在线播放亚洲激情| 久久久久久网站| 在线精品高清中文字幕| 亚洲天堂男人天堂女人天堂| 久久天天躁狠狠躁夜夜躁2014| 欧美裸体xxxx极品少妇| 日韩成人av网| 精品国产一区二区三区久久久| 国产精品美女av| 91在线观看免费观看| 精品欧美aⅴ在线网站| 久久视频在线直播| 亚洲女人天堂视频| 一夜七次郎国产精品亚洲| 欧美又大粗又爽又黄大片视频| 成人网在线免费观看| 久久精品中文字幕一区| 国产精品xxxxx| 成人免费在线视频网站| 国产精品亚洲视频在线观看| 国模精品视频一区二区三区| 国产伦精品一区二区三区精品视频| 国产精品中文字幕在线观看| 中文字幕日韩免费视频| 国产精品丝袜一区二区三区| 精品自在线视频| 国内精品久久久久伊人av| 92版电视剧仙鹤神针在线观看| 久久久999国产精品| 国产精品27p| 亚洲午夜色婷婷在线| 欧美性高潮在线| 国产精品露脸av在线| 亚洲精品国产福利| 国产一区二区动漫| 国产精品白丝av嫩草影院| 国产亚洲精品久久久久久| 久久99久国产精品黄毛片入口| 国语自产在线不卡| www.日韩.com| 欧美第一黄色网| 91在线精品视频| 日韩亚洲综合在线| 日韩在线视频免费观看| 欧美日韩性生活视频| 5566成人精品视频免费| 成人国产精品日本在线| 色妞欧美日韩在线| 亚洲一区中文字幕在线观看| 欧美一级片一区| 午夜精品99久久免费| 国语自产精品视频在线看抢先版图片| 88国产精品欧美一区二区三区| 欧美日韩亚洲一区二区| 精品久久久国产| www.日韩.com| 欧美一区三区三区高中清蜜桃| 成人自拍性视频| 国产精品日日做人人爱| 国产视频在线一区二区| 亚洲亚裔videos黑人hd| 91tv亚洲精品香蕉国产一区7ujn| 自拍亚洲一区欧美另类| 日本精品视频在线播放| 久久久爽爽爽美女图片| 亚洲欧美激情精品一区二区| 亚洲成色777777女色窝| 国产精品视频公开费视频| 国产精品手机播放| 91免费看视频.| 日韩av电影手机在线观看| 国产亚洲人成a一在线v站| 亚洲自拍高清视频网站| 亚洲爱爱爱爱爱| 俺去了亚洲欧美日韩| 欧美二区在线播放| 国产精品69精品一区二区三区| 久久视频在线看| 久久久久久久久久久久av| 国产+人+亚洲| 中文字幕日韩在线播放| 亚洲免费中文字幕| 亚洲精品综合精品自拍| 日韩av在线免费播放| 38少妇精品导航| 夜夜狂射影院欧美极品| 久久久www成人免费精品| 欧美精品生活片| 亚洲第一国产精品| 98视频在线噜噜噜国产| 国产精品91久久久久久| 欧美国产日韩在线| 日韩欧中文字幕| 懂色av影视一区二区三区| 欧美激情视频免费观看| 欧美剧在线观看| 精品亚洲aⅴ在线观看| 久久亚洲精品一区二区|