当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  让ASP.NET简便使用SCRIPT

 让ASP.NET简便使用SCRIPT

点击次数:21 次 发布日期:2008-11-26 14:00:07 作者:源代码网
源代码网推荐      在开发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 }
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华