关于页面刷新的问题
在做.net開發(fā)時(shí),經(jīng)常能碰到這樣的情況,頁(yè)面很長(zhǎng),而我們一般用的都是服務(wù)器端控件,用服務(wù)器端控件有這樣一個(gè)缺點(diǎn),就是控件每次都要和服務(wù)器交互,而產(chǎn)生頁(yè)面的刷新,試想一下,如果頁(yè)面很長(zhǎng),而頁(yè)面中的控件又很多,每次都要刷新到頁(yè)面頂部,那我們?cè)谔顚戀Y料時(shí)頁(yè)面每刷新一次我們都要拖動(dòng)一次滾動(dòng)條,這樣實(shí)在是很麻煩,問(wèn)題由此產(chǎn)生,一些人用SmartNavigation 方法,這個(gè)方法可行,但它一般會(huì)與頁(yè)面中的驗(yàn)證控件或是JS 產(chǎn)生沖突,從而導(dǎo)致頁(yè)面的失效,在這我找到一個(gè)用JS來(lái)解決問(wèn)題的辦法供大家參考
環(huán)境為VS.NET 2000和VS.NET 2003通過(guò)
<script language="javascript">
function GetCookie (name)
{
?? var arg = name + "=";
?? var alen = arg.length;
?? var clen = document.cookie.length;
?? var i = 0;
?? while (i < clen)
?? {
?????? var j = i + alen;
?????? if (document.cookie.substring(i, j) == arg)
?????? return getCookieVal (j);
?????? i = document.cookie.indexOf(" ", i) + 1;
?????? if (i == 0) break;
?? }
?return null;
}
function getCookieVal (offset)
{
?? var endstr = document.cookie.indexOf (";", offset);
?? if (endstr == -1)
???? endstr = document.cookie.length;
???? return unescape(document.cookie.substring(offset, endstr));
?? }
function SetCookie (name, value)
?? {
???? document.cookie = name + "=" + escape (value)
?? }
</script>
在body中加入
<body bgColor="#f1f5f5" leftMargin="0" topMargin="0" rightMargin="0" MS_POSITIONING="GridLayout" οnlοad="document.body.scrollTop=GetCookie('posy')" οnunlοad="SetCookie('posy',document.body.scrollTop)">
總結(jié)
- 上一篇: 使用 ASP.NET 加密口令
- 下一篇: 对比.Net PetShop和Duwam