中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
asp.net框架內(nèi)進(jìn)行頁(yè)面跳轉(zhuǎn)的問(wèn)題

在Asp.NET使用框架頁(yè)面的時(shí)候,常常在框架內(nèi)部頁(yè)面中進(jìn)行跳轉(zhuǎn),但是我們常常也會(huì)遇到這樣的一種情況:即我們需要跳轉(zhuǎn)的不只是部分框架的頁(yè)面,而是將整個(gè)主頁(yè)面進(jìn)行跳轉(zhuǎn),比如在框架左側(cè)頁(yè)面中操作的時(shí)候,需要跳轉(zhuǎn)到登陸頁(yè)面等等。

這種情況下的跳轉(zhuǎn)其實(shí)跟HTML中進(jìn)行主框架的跳轉(zhuǎn)是一樣的,在早期使用HTML的時(shí)候,我們使用Javascript,在Asp.net中,后臺(tái)代碼可以為:

Response.Write("<script>parent.location='login.apsx';</script>");
Response.Write("<script>top.location='login.apsx';</script>");
Response.Write("<script>parent.document.location.href='login.apsx';</script>");

如果點(diǎn)擊的按鈕是在框架中嵌套的框架中,那如果只是用上面的語(yǔ)句,只能將第一層框架進(jìn)行完全跳轉(zhuǎn),而外層的還保持不變,這時(shí)就需要這樣了。

Response.Write("<script>parent.parent.location='../main.aspx';</script>");

Response.Write("<script>top.location='login.apsx';</script>");

后記

top屬性
每一個(gè)WINDOW對(duì)象,不論他是常規(guī)HTML頁(yè)面。框架集頁(yè)面。子框架還是孫子框架,都具有一個(gè)TOP屬性。這個(gè)屬性返回對(duì)載入瀏覽器得最頂層WINDOE對(duì)象得引用;

。如果WINDOW對(duì)象是常規(guī)HTML頁(yè)面,TOP就是SELF
。。。。。。。。。。。頂層框架及頁(yè)面, 。。。。。。。。
。。。。。。。。。。。子框架,TOP指向框架得父親,也就是說(shuō),下面兩個(gè)表達(dá)式是等效的;
SELF.TOP
SELF.PARENT
。如果WINDOW對(duì)象是自框架,TOP指向框架得祖父。也就是說(shuō)下面兩個(gè)表達(dá)式是等效得
self.top
self.parent.parent
這可能提醒了你一個(gè)減少按鍵得好方法,尤其是當(dāng)你認(rèn)為能為能僅適用TOP本身是(那就是說(shuō),使用TOP本身來(lái)代替SELF.TOP或者WINDOW.TOP),這雖是可行的,但是應(yīng)該特別注意:必須確保TOP真正指向你的頂層框架

那當(dāng)我們不僅需要轉(zhuǎn)移框架頁(yè)面,還需要傳遞參數(shù),那么傳參跳轉(zhuǎn)的語(yǔ)句顯然既可以使用QueryString在跳轉(zhuǎn)的URL后面加“?XX='XXXXX'”即可,也可以使用Session來(lái)實(shí)現(xiàn)。

問(wèn)題解決了,我們來(lái)引申一下:

如果我們要跳轉(zhuǎn)的不是主框架頁(yè)面了,而是右邊甚至于是框架中的任意一個(gè)頁(yè)面,那么該如何呢?

答案其實(shí)也很簡(jiǎn)單,我們?cè)賮?lái)仔細(xì)研究下我們上面列出來(lái)的三條跳轉(zhuǎn)語(yǔ)句,都是使用的獲取Documnet中的父層的框架對(duì)象,然后進(jìn)行跳轉(zhuǎn),那我們其實(shí)只要使用我們熟悉的Javascript獲取到相應(yīng)的要跳轉(zhuǎn)的框架對(duì)象進(jìn)行跳轉(zhuǎn),至于傳參嘛,那就跟上面是完全一樣了哦!
我們來(lái)看下示例:

Response.Write"<script language='javascript'>window.location='left.aspx';parent.rightframeName.location='right.aspx'</script>");

實(shí)現(xiàn)跳轉(zhuǎn)了嗎?是的,恭喜了,但是這樣OK了嗎?還沒(méi)有...
我們發(fā)現(xiàn),這樣進(jìn)行跳轉(zhuǎn)的時(shí)候,左邊的框架確實(shí)是跳轉(zhuǎn)了,但是右邊的框架也隨即跟著刷新了,右邊頁(yè)面中所作的一些改動(dòng)也都被重置掉了,這可不是我們想要的結(jié)果,那么怎么辦?再往下看:
我們都知道,在HTML時(shí)代是不存在這個(gè)問(wèn)題的,為什么呢?嘿嘿,因?yàn)槟鞘荋TML控件,使用的JavaScript客戶端代碼,因此它不會(huì)回發(fā)服務(wù)器,那么我們是不是可以也使用HTML控件,然后再在它的onclick時(shí)間中實(shí)現(xiàn)呢?當(dāng)然是可以的,你不要跟我說(shuō)你用的是服務(wù)端控件,你要在后臺(tái)代碼里實(shí)現(xiàn)哦,在LOAD時(shí)間里AddAttributes方法添加一個(gè)onclick事件就OK了的。
我在網(wǎng)上賺了一圈,還發(fā)現(xiàn)一個(gè)牛人提出來(lái)的方法,看完之后不得不提一下HTML中的target,具體內(nèi)容?白度上自己擺一把去~
我這里就把牛人的方案照搬過(guò)來(lái)了阿:

假設(shè)左框架為 frmLeft,右框架為 frmRight

<frame name="frmLeft" src="left.aspx">
<frame name="frmRight" src="right.aspx">

關(guān)于左右框架間的數(shù)值傳遞有幾種方法:

第一種:不提交服務(wù)器,在客戶端實(shí)現(xiàn)

left.aspx 中的代碼

<INPUT οnclick="HandToRight()" id="Button1" value="Button"name="Button1">
<script language=javascript>
<!--
function HandToRight()
{
var para = document.getElementByIdx_xx_x_x_x("TextBox1").value;
window.parent.frmRight.location.replace("right.aspx?p="+para);
}
//-->
</script>

此方法通過(guò) URL 傳參數(shù),不安全


第二種,用 POST 的方法,left.aspx 的代碼,注意 form的 target

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

編寫提交按鈕事件
Session["ID"]=TextBox1.Text;
Response.Redirect ("right.aspx");

此方法較安全,但多一個(gè)往返 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Session超時(shí)時(shí),框架內(nèi)的頁(yè)面怎樣跳出框架外,獨(dú)立顯示
window.location.href的用法(動(dòng)態(tài)輸出跳轉(zhuǎn))
asp.net 退出登陸(解決退出后點(diǎn)擊瀏覽器后退問(wèn)題仍然可回到頁(yè)面問(wèn)題)
關(guān)閉IE時(shí)執(zhí)行Session.Abandon()事件
自動(dòng)刷新頁(yè)面的實(shí)現(xiàn)方法總結(jié)
c#常用編程方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服