让ASP.NET简便使用SCRIPT
点击次数:21 次 发布日期:2008-11-26 14:00:07 作者:源代码网
|
源代码网推荐 源代码网推荐 以下是常用的打开模式窗体并获取返回值的类调用,实际上可以给设置多个参数传入和不同控件获取不同返回值的结果. 源代码网推荐 源代码网推荐 定义打开窗体并设置返回值脚本类: 源代码网推荐 源代码网推荐 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 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
