知识大全 让ASP.NET简便使用SCRIPT

Posted

篇首语:精诚所加,金石为开。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 让ASP.NET简便使用SCRIPT相关的知识,希望对你有一定的参考价值。

让ASP.NET简便使用SCRIPT  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在开发应用程序过程中编写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= ;   dialog Width= ;   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都可以通过这样的方式来封装).       namespace HFSoft Web Scripts       /// <summary>    /// 创建打开窗体脚本类    /// 注意:返回值参数据接收的数据格式必须    /// key=value|key =value |    /// </summary>    public class ShowModalDialog : IExecuteScript       private const string _Dialog = window showModalDialog( dialogHeight : px ;   dialogWidth : px ; edge : Raised ; center : Yes ; help : No ; resizable : No ; status : No ; scroll :   Yes ; ); ;    #region IExecuteScript 成员    private bool mParent = false ;    /// <summary>    /// 是否需要加载父指向    /// </summary>    public bool Parent       get       // TODO: 添加 SetElementsValue Parent getter 实现    return mParent ;       set       // TODO: 添加 SetElementsValue Parent setter 实现    mParent = value ;          private string GetParent ()       if ( Parent )    return parent ;    return ;       /// <summary>    /// 构造对象    /// </summary>    /// <param name= pageContainer >容器页</param>    /// <param name= openPage >具本打开的页面</param>    public ShowModalDialog ( string pageContainer string openPage )       PageContainer = pageContainer ;    OpenPage = openPage ;       public const string PageUrlTag = pageurl ;    /// <summary>    /// 生成脚本    /// </summary>    /// <returns>string</returns>    public string Execute ()       // TODO: 添加 ShowModalDialog Execute 实现    string url = + PageContainer + ? pageurl = + + GetPage ();    url = string Format ( _Dialog url Height Width );    url = GetParent () + url ;    if ( ReturnElements Count > )       url = var getvalue= + url + ;if(getvalue != null) ;    foreach ( ReturnElement item in ReturnElements )       url += item GetScript ( GetParent ());     

      url += ;    return url + ; ;       return url + ; ;          #endregion    private string mPageContainer ;    /// <summary>    /// 获取或设置容器页(包含路径)    /// </summary>    public string PageContainer       get       return mPageContainer ;       set       mPageContainer = value ;          private string mOpenPage ;    /// <summary>    /// 打开的页(包含路径)    /// </summary>    public string OpenPage       get       return mOpenPage ;       set       mOpenPage = value ;          private int mHeight = ;    /// <summary>    /// 获取或设置打开窗体的高度    /// </summary>    public int Height       get       return mHeight ;       set       mHeight = value ;          private int mWidth = ;    /// <summary>    /// 获取或设置打开窗体的宽度    /// </summary>    public int Width       get       return mWidth ;       set        

   mWidth = value ;          private ReturnElementCollections mReturnElements = new ReturnElementCollections ();    /// <summary>    /// 获取返回值元素集    /// </summary>    public ReturnElementCollections ReturnElements       get       return mReturnElements ;          private ParameterCollection mParameters = new ParameterCollection ();    /// <summary>    /// 获取打开页面的参数集    /// </summary>    public ParameterCollection Parameters       get       return mParameters ;          private string GetPage ()       if ( Parameters Count == )    return +OpenPage+ ;    System Text StringBuilder sb = new System Text StringBuilder ();    sb Append ( +OpenPage+ );    string param = ;    string parent = GetParent ();    for ( int i = ; i < Parameters Count ; i ++)       if ( Parameters [ i ] Element == ElementType Element )       param = + Parameters[i] Name + = + + parent + document all(    +Parameters[i] Value + ) value ;       else if ( Parameters [ i ] Element == ElementType Select )       param = + Parameters[i] Name + = + + parent + __getSeletedButton( + parent +    document all( +Parameters[i] Value + )) ;       if ( i == )       sb Append ( + +System Web HttpUtility UrlEncode( ? ) + + + param );       else       sb Append ( + +System Web HttpUtility UrlEncode( & ) + + + param );          return sb ToString ();                   #region subClass    public enum ElementType       None    Element    Select      

      /// <summary>    /// 参数描述类    /// </summary>    public class Parameter       /// <summary>    /// 构造参数对象    /// </summary>    public Parameter ()          /// <summary>    /// 构造指定名称和值的参数对象    /// </summary>    /// <param name= name >参数名称</param>    /// <param name= value >参数值</param>    public Parameter ( string name string value )       Name = name ;    Value = value ;       /// <summary>    /// 构造指定名称和值的参数对象    /// </summary>    /// <param name= name >参数名称</param>    /// <param name= value >参数值</param>    /// <param name= iselement >值是否元素名称</param>    public Parameter ( string name string value ElementType element )       Name = name ;    Value = value ;    Element = element ;          private string mName ;    /// <summary>    /// 获取或设置参数名称    /// </summary>    public string Name       get       return mName ;       set       mName = value ;          private string mValue ;    /// <summary>    /// 获取或设置参数值    /// </summary>    public string Value       get       return mValue ;       set       mValue = value ;      

         private ElementType mElement = ElementType None ;    /// <summary>    /// 获取或设置参数值是否参数名称    /// </summary>    public ElementType Element       get       return mElement ;       set       mElement = value ;             public class ParameterCollection : System Collections CollectionBase       public Parameter this [ int index ]       get       return ( ( Parameter ) List [ index ] );       set       List [ index ] = value ;             public int Add ( Parameter value )       return ( List Add ( value ) );          public int IndexOf ( Parameter value )       return ( List IndexOf ( value ) );          public void Insert ( int index Parameter value )       List Insert ( index value );          public void Remove ( Parameter value )          List Remove ( value );          public bool Contains ( Parameter value )       // If value is not of type Int this will return false    return ( List Contains ( value ) );             /// <summary>    

   /// 返回值接收元素描述类    /// </summary>    public class ReturnElement       /// <summary>    /// 构造对象    /// </summary>    /// <param name= id >接收值的元素ID</param>    /// <param name= key >对应值的键值</param>    public ReturnElement ( string id string key )       ID = id ;    Key = key ;       private string mID ;    /// <summary>    /// 获取或设置元素ID    /// </summary>    public string ID       get       return mID ;       set       mID = value ;          private string mKey ;    /// <summary>    /// 获取或设置对应值的键值    /// </summary>    public string Key       get       return mKey ;       set       mKey = value ;          /// <summary>    /// 获取操作脚本    /// </summary>    /// <returns>string</returns>    public string GetScript ( string parent )       return parent + document all( +ID + ) value= + parent + __AnalyseString( +Key +    getvalue); ;          public class ReturnElementCollections : System Collections CollectionBase       public ReturnElement this [ int index ]       get       return ( ( ReturnElement ) List [ index ] );        

cha138/Article/program/net/201311/12329

相关参考

知识大全 让UserControl 成为 Asp.Net ajax

让UserControl成为Asp.Netajax  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET让网页弹出窗口不再困难

ASP.NET让网页弹出窗口不再困难  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于项目要用

知识大全 让UserControl 成为Asp.Net ajax 控件

让UserControl成为Asp.Netajax控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.NET 揭秘 ASP.NET页面的结构

ASP.NET揭秘ASP.NET页面的结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TheSt

知识大全 ASP.NET底层架构探索之进入ASP.NET

ASP.NET底层架构探索之进入ASP.NET  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  A

知识大全 ASP.NET简介

ASP.NET开发宝典:ASP.NET简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章搭

知识大全 IIS处理Asp.net请求和 Asp.net页面生命周期

IIS处理Asp.net请求和Asp.net页面生命周期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 如何由ASP.NET 1.1移植到ASP.NET 2.0

如何由ASP.NET1.1移植到ASP.NET2.0  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 创建ASP.NET网站

ASP.NET开发宝典:创建ASP.NET网站  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 运行ASP.NET网站

ASP.NET开发宝典:运行ASP.NET网站  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &