<script language="javascript" type="text/javascript">document.title="ASP.net的一点小技巧【转自qddn】 - "+document.title</script>
ASP.net在做一些项目时,可能会遇到一鞋小麻烦,下面是几个使用ASP.net的小技巧:
1.在新窗口中打开页面
我们经常需要在点击某个Button的时候打开一个新的页面,而且由于应用的需要,我们又不能使用超级连接或者LinkButton来代替这个Button,于是我们只有在Button的Click事件中进行新页面的打开工作。我将这个工作封装成一个API,如下:
1
OpenWindowInNewPage
#region OpenWindowInNewPage
2
//在新窗口中打开页面
3
public static void OpenWindowInNewPage(Page curPage ,string destUrl)
4![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
5
string scriptString = string.Format("window.open('" + "{0}" + "','_new');<" ,destUrl) ;
6
scriptString += "/";
7
scriptString += "script>";
8
if(!curPage.IsStartupScriptRegistered("Startup"))
9![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
10
curPage.RegisterStartupScript("Startup", scriptString);
11
}
12
}
13
#endregion
![](https://i-blog.csdnimg.cn/blog_migrate/39d7d940c8c2f194345d303509c06b40.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/ec457d541b8a2a10d13904510d64f5e1.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/addcc1c305ca6dedab1871875ff931a8.gif)
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![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
5
StringBuilder StrScript = new StringBuilder();
6
StrScript.Append( "" );
7
if(fullScreen)
8![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
9
StrScript.Append("width=screen.Width-10;"+"/n");
10
StrScript.Append("height=screen.height-60;"+"/n");
11
}
12
else
13![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
14
StrScript.Append(string.Format("width={0};" ,width)+"/n");
15
StrScript.Append(string.Format("height={0};" ,high)+"/n");
16
}
17![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
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![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
21
StrScript.Append( " window.focus();" );
22
StrScript.Append( " window.opener=null;" );
23
StrScript.Append( " window.close(); " );
24
}
25
StrScript.Append( "" );
26
if ( ! page.IsStartupScriptRegistered( scriptName ) )
27![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
{
28
page.RegisterStartupScript( scriptName, StrScript.ToString() );
29
}
30
}
31
#endregion
![](https://i-blog.csdnimg.cn/blog_migrate/39d7d940c8c2f194345d303509c06b40.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/ec457d541b8a2a10d13904510d64f5e1.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/addcc1c305ca6dedab1871875ff931a8.gif)
3.还有一种情况就是我们需要在关闭当前页面时,刷新当前页面的“父页面”,所谓“父页面”,就是Post本页面之前的一个页面。可以调用如下API:
![](https://i-blog.csdnimg.cn/blog_migrate/39d7d940c8c2f194345d303509c06b40.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/ec457d541b8a2a10d13904510d64f5e1.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9d9a2c2a8c9b35603b4023468bb36248.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/432cadab902757836a2dcaecfb0b0840.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/15b1c5de62d0b694d97c6d1b46298fcf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/183a9d89fde28c68400860f99311d7f2.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/addcc1c305ca6dedab1871875ff931a8.gif)
关于第3点有一些补冲。
可以定义一个JS文件增加下面的函数。
function OpenerReload()
{
if (opener && !opener.closed)
{
opener.Reload();
}
}
Reload()函数就是子窗体内的脚本函数,这样在子窗体的脚本函数里可以调用任何服务器端的函数,就不需要在not Ispostback里面处理刷新的机能了。
例如使用
function Reload() { document.forms(0).btnSearch.click(); }
父窗体调用的部分就可以写成Opener.OpenerReload();