Javascript在Asp.Net中的应用汇总

Javascript Asp.Net 中的应用汇总

aspx文件中的用 javscript 脚本为件添加事

javascript 开新窗

javascript 打开新窗体

protected void NextPageParameters (

string strPageTo,string [] strKeys,object [] obValues,boo l bNewWindow,int nWidth,int nHeight )

{

      if( strPageTo == null || strPageTo.Length == 0)

      throw new ArgumentNullException ("PageBase "," 必须提供将要跳转到的页面的名称! ") ;

      if( (strKeys == null && obValues != null) || (obValues == null && strKeys != null)

||( strKeys != null && obValues != null && strKeys.Length !=obValues.Length ))

      throw new ArgumentNullException ("PageBase "," 参数名和参数值个数不一致或者为空! ") ;

 

      string[ ] strPageToArray = strPageTo.Split ('?') ;

      string url = strPageToArray [0] ;

      // 得到原先存在的参数

      string strOldParas = strPageToArray.Length > 1 ? strPageToArray [ 1] : string.Empty ;

      short shtParamCount = 0 ;

      //bool bAsk = false ;

      System.Text.StringBuilder strBuilder = new System.Text.StringBuilder ( url ) ;

      if( strKeys != null && obValues != null && obValues.Length > 0 )

      {

           strBuilder.Append ( '?' ) ;

      //   bAsk = true ;

           for( int i = 0 ; i < strKeys.Length ; i ++ )

           {

                 if( strKeys [i ] != null)

                 {

                      if( shtParamCount ++ > 0 )

                      strBuilder.Append ( "&" ) ;//&//&amp;

                      strBuilder.Append ( strKeys [i ] ) ;

                      strBuilder.Append ( '=' ) ;

                      strBuilder.Append ( obValues [i ] == null ? "" : obValues [i ].ToString () ) ;

                 }

           }

                      //shtParamCount = 0 ;

}

      if( strOldParas != null && !strOldParas.Equals (String.Empty ) )

      {

           //if( !bAsk )

           if( shtParamCount == 0 )strBuilder.Append ( '?' ) ;

           string[ ,] strParametrs = Util.Str.GetCodeNameArray (strOldParas ,'&','=') ;

           for( int i = 0 ; i < strParametrs.Length/2 ; i ++)

                 {

                      if( shtParamCount ++ > 0 )strBuilder.Append ( "&" ) ;//&//&amp;

strBuilder.Append ( strParametrs [i,0] ) ;

                      strBuilder.Append ( '=' ) ;

                      strBuilder.Append ( strParametrs [i,1] == null ? "" : strParametrs [i,1] ) ;

                 }

      }

      url = strBuilder.ToString () ;

      //navgation

      if( bNewWindow )

      {

           this.Response.Write ( "<script language=JavaScript> "

           +"function ShowDialog ( url,iWidth,iHeight ) { "

           +"var iTop =( window.screen.height-iHeight )/2;var iLeft =(window.screen.width-iWidth )/2;    "

           +"var DialogPath ='scrollbars=yes,toolbar =no,resizable =yes,

status = no,menubar = no,titlebar =no,location =yes,Width ='+iWidth +' ,Height='+iHeight

+',Top ='+iTop+',Left ='+iLeft;"+"window.open (url,'',DialogPath ); } ");

           string strB = " ShowDialog (' "+(url == "" ? strPageTo : url )+"',"+nWidth+","+nHeight +");</script> ";

           Response.Write ( strB ) ;

      }

      else

           Response.Redirect ( url == "" ? strPageTo : url ) ;

}

<返回 >

 

 

 

 

. aspx 文件中的用 javscript 脚本为控件添加事件

<head >

<script language="javascript ">

function displayDiv1 ()

{

      document .getElementById ( "Div1").style .display ="";

}

</script>

</head>

<body >

<form id="Form1" method="post" runat ="server">

<input type ="button" id="btn2" runat ="server" value ="displayDiv " onclick ="displayDiv1( ) ">

<br >

<div id="Div1" style ="DISPLAY: none; BACKGROUND -COLOR: #009999" runat ="server">

一个 DIV 图层

</div>

<br >

</form>

</body>

 

aspx.cs 文件中实现上面同样的效果,后台执行 javascript 脚本

A :测试一个带 alert() 的脚本文件,在 .cs 中执行

//Page_Load () 中添加:

JavascriptRegistEnvent () // 在页面显示之前向页面中写入脚本

// 定义 javascriptRegistEvent ()

public Void JavascriptRegistEvent (object sender,EventArgs e)

{

Response.Write ( "run CustomEvent ()...");

Response.Write ( "Regisit dispalyJavascript ....");

// 测试可用

StringBuilder builder=new StringBuilder ( );

builder.Append ( "<script langugage ='javascript '> ");

builder.Append ( "function displayDiv () ");

builder.Append ( "{ ");

builder.Append ( "alert('abc '); ");

builder.Append ( "document .getElementById ('Div1').style.display =''; ");

builder.Append ( "} ");

builder.Append ( "</script> ");

Response.Write ( builder.ToString ());

if( !IsStartupScriptRegistered ("Startup"))

{

this.RegisterStartupScript ( "Startup",builder.ToString ());

this.bnt1.Attributes.Add( "Onclick ", "displayDiv ()");

}

}

// 效果如前台脚本一致吗?似乎有问题!

<返回 >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值