您的位置:首页 > 编程语言 > ASP

Asp.net实用技巧(1)

2005-07-27 18:03 465 查看
1.在新窗口中打开页面
我们经常需要在点击某个Button的时候打开一个新的页面,而且由于应用的需要,我们又不能使用超级连接或者LinkButton来代替这个Button,于是我们只有在Button的Click事件中进行新页面的打开工作。我将这个工作封装成一个API,如下:
1



OpenWindowInNewPage#region OpenWindowInNewPage
2

//在新窗口中打开页面
3

public static void OpenWindowInNewPage(Page curPage ,string destUrl)
4





{
5

string scriptString = string.Format("<script language='JavaScript'>window.open('" + "{0}" + "','_new');<" ,destUrl) ;
6

scriptString += "/";
7

scriptString += "script>";
8

if(!curPage.IsStartupScriptRegistered("Startup"))
9





{
10

curPage.RegisterStartupScript("Startup", scriptString);
11

}
12

}
13

#endregion
2.如果需要打开固定大小的页面,可以使用如下API
1



OpenNewFixSizePage#region OpenNewFixSizePage
2

//打开一个固定大小的页面,如果fullScreen为true ,则high与width不起作用
3

public static void OpenNewFixSizePage(Page page, string pageUrl, bool isCloseOldPage, string scriptName ,bool fullScreen ,int high ,int width)
4





{
5

StringBuilder StrScript = new StringBuilder();
6

StrScript.Append( "<script language=javascript>" );
7

if(fullScreen)
8





{
9

StrScript.Append("width=screen.Width-10;"+"/n");
10

StrScript.Append("height=screen.height-60;"+"/n");
11

}
12

else
13





{
14

StrScript.Append(string.Format("width={0};" ,width)+"/n");
15

StrScript.Append(string.Format("height={0};" ,high)+"/n");
16

}
17


18

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 +'');" );
19

if ( isCloseOldPage )
20





{
21

StrScript.Append( " window.focus();" );
22

StrScript.Append( " window.opener=null;" );
23

StrScript.Append( " window.close(); " );
24

}
25

StrScript.Append( "</script>" );
26

if ( ! page.IsStartupScriptRegistered( scriptName ) )
27





{
28

page.RegisterStartupScript( scriptName, StrScript.ToString() );
29

}
30

}
31

#endregion
3.还有一种情况就是我们需要在关闭当前页面时,刷新当前页面的“父页面”,所谓“父页面”,就是Post本页面之前的一个页面。可以调用如下API:




RefreshFatherPage#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
以前一直都是做WindowsForm,现在因为公司的项目需要,不得不研究WebForm,以上的几个技巧是这几天解决工作中的问题而总结出来的,如有更好的办法,还请留言告诉我,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: