• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

飞天牛

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Asp.net实用技巧

1.在新窗口中打开页面
我们经常需要在点击某个Button的时候打开一个新的页面,而且由于应用的需要,我们又不能使用超级连接或者LinkButton来代替这个Button,于是我们只有在Button的Click事件中进行新页面的打开工作。我将这个工作封装成一个API,如下:
#region OpenWindowInNewPage
 
//在新窗口中打开页面
 public static void OpenWindowInNewPage(Page curPage ,string destUrl)
 { 
 
string scriptString = string.Format("<script language='JavaScript'>window.open('"
        +
 "{0}" + "','_new');<" ,destUrl) ;
 scriptString 
+= "/";
 scriptString 
+= "script>";
 
if(!curPage.IsStartupScriptRegistered("Startup"))
 {
 curPage.RegisterStartupScript(
"Startup", scriptString);
 }
 }
#endregion
2.如果需要打开固定大小的页面,可以使用如下API
#region OpenNewFixSizePage
 
//打开一个固定大小的页面,如果fullScreen为true ,则high与width不起作用
 public static void OpenNewFixSizePage(Page page, string pageUrl,
bool
 isCloseOldPage, string scriptName ,bool fullScreen ,int high ,int width)
 {
 StringBuilder StrScript 
= new StringBuilder(); 
 StrScript.Append( 
"<script language=javascript>" );
 
if(fullScreen)
 {
 StrScript.Append(
"width=screen.Width-10;"+"\n");
 StrScript.Append(
"height=screen.height-60;"+"\n"); 
 }
 
else
 {
 StrScript.Append(
string.Format("width={0};" ,width)+"\n");
 StrScript.Append(
string.Format("height={0};" ,high)+"\n"); 
 }

 StrScript.Append( 
"window.open('"+ pageUrl +"','_blank','toolbar=no,location=no,
directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0,
height='+ height +',width='+ width +'');
" ); 
 
if ( isCloseOldPage )
 {
 StrScript.Append( 
" window.focus();" );
 StrScript.Append( 
" window.opener=null;" );
 StrScript.Append( 
" window.close(); " );
 }
 StrScript.Append( 
"</script>" );
 
if ( ! page.IsStartupScriptRegistered( scriptName ) )
 {
 page.RegisterStartupScript( scriptName, StrScript.ToString() );
 }
 }
#endregion
3.还有一种情况就是我们需要在关闭当前页面时,刷新当前页面的“父页面”,所谓“父页面”,就是Post本页面之前的一个页面。可以调用如下API:
#region RefreshFatherPage 
//刷新Father页面 
public static void RefreshFatherPage(HttpResponse Response ,bool isCloseCurPage)
{ 
StringBuilder scriptString 
= new StringBuilder();
scriptString.Append(
"<script language = javascript>");
scriptString.Append(
"window.opener.refresh();");
if (isCloseCurPage )
{
scriptString.Append( 
" window.focus();" );
scriptString.Append( 
" window.opener=null;" );
scriptString.Append( 
" window.close(); " );
}
scriptString.Append(
"</"+"script>");
Response.Write(scriptString.ToString());
}

/**//*
需要在Father页面的html中添加如下脚本(在Header中):
<script language="javascript">
function refresh()
{
this.location = this.location;
}
</script>
*/
#endregion

posted on 2006-03-25 11:03  飞天牛  阅读(191)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3