
標(biāo)簽
1.<a href=”test.aspx”></a>
2.這是最常見(jiàn)的一種轉(zhuǎn)向方法;
HyperLink控件
1.Asp.net 服務(wù)器端控件 屬性NavigateUrl指定要跳轉(zhuǎn)到的Url地址
2.NavigateUrl是可以在服務(wù)器端使用代碼修改,這個(gè)區(qū)別于<a>
3.由于HyperLink本身沒(méi)有事件所以要在服務(wù)器端其它事件中設(shè)置NavigateUrl
4.代碼示例
<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink>
Response.Redirect()方法
1.過(guò)程:發(fā)送一個(gè)Http響應(yīng)到客戶(hù)端,通知客戶(hù)端跳轉(zhuǎn)到一個(gè)新的頁(yè)面,然后客戶(hù)端再發(fā)送跳轉(zhuǎn)請(qǐng)求到服務(wù)器端。
2.頁(yè)面跳轉(zhuǎn)之后內(nèi)部控件保存的所有信息丟失,當(dāng)A跳轉(zhuǎn)到B,B頁(yè)面將不能訪(fǎng)問(wèn)A頁(yè)面提交的數(shù)據(jù)信息。
3.使用這個(gè)方法使用這個(gè)方法跳轉(zhuǎn)后瀏覽器地址欄的Url信息改變
4.可以使用Session Cookies Application等對(duì)象進(jìn)行頁(yè)面間的數(shù)據(jù)傳遞
5.重定向操作發(fā)生在客戶(hù)端,總共涉及到兩次與Web服務(wù)器的通信:一次是對(duì)原始頁(yè)面的請(qǐng)求,另一次是重定向新頁(yè)面的請(qǐng)求
Server.Transfer()方法
1.實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的同時(shí)將頁(yè)面的控制權(quán)進(jìn)行移交
2.頁(yè)面跳轉(zhuǎn)過(guò)程中Request Session等保存的信息不變,跳轉(zhuǎn)之后可以使用上一個(gè)頁(yè)面提交的數(shù)據(jù)
3.跳轉(zhuǎn)之后瀏覽器地址欄的Url不變
4.這種方法的重定向請(qǐng)求是在服務(wù)器端的進(jìn)行的,瀏覽器不知道頁(yè)面已經(jīng)發(fā)生了一次跳轉(zhuǎn)
Server.Execute()方法
1.該方法允許當(dāng)前頁(yè)面執(zhí)行同一個(gè)Web服務(wù)器上的另一個(gè)頁(yè)面
2.頁(yè)面執(zhí)行完畢之后重新回到原始頁(yè)面發(fā)出Server.Execute()的位置。
3.這種方式類(lèi)似針對(duì)頁(yè)面的一次函數(shù)調(diào)用 被請(qǐng)求的頁(yè)面可以使用原始頁(yè)面的表單數(shù)據(jù)和查詢(xún)字符串集合
4.被調(diào)用頁(yè)面的Page指令的EnableViewStateMac屬性設(shè)置為False
話(huà)題相關(guān):
1. 為了確保HTML輸出的合法性 最好使用Response.Redirect方法;因?yàn)镾erver.Execute 或者Server.Transfer方法返回給客戶(hù)端的頁(yè)面包含多個(gè)<Html><body>標(biāo)記,不是合法的HTML頁(yè)面,在非IE瀏覽器中可能會(huì)發(fā)生錯(cuò)誤。
2. 由于Server.Transfer在服務(wù)器端執(zhí)行重定向,所以避免了不必要的網(wǎng)絡(luò)通信,從而獲得了更好的性能和瀏覽效果
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com