台灣最大程式設計社群網站
線上人數
1850
 
會員總數:246086
討論主題:189663
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 重新導向刷新
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
重新導向刷新
價值 : 50 QP  點閱數:319 回應數:4
樓主

小裕
初學者
137 213
3334 399
發送站內信

我有兩個頁面
主頁面點選簽核後,會跳出簽核頁面

而我的主頁面
有切三個頁籤
假設我現在到tab2頁籤,要簽核單據,

簽核後,如下面的語法,是會停留在第二個頁籤
但資料不會刷新

如果拿掉就正常,但畫面就會切回第一個頁籤
請問我是該從這裡去找改?
還是要想辦法,導回來主頁的時候,移除他tab的屬性,
讓它停留在該頁籤?

tab1.Attributes.Remove("class");
tab2.Attributes.Add("class", "active");



Response.Write("<script language=javascript>");
Response.Write("alert('單據送簽成功!');");
Response.Write("opener.location.replace('Ecr_signview2.aspx#tab2');window.close()")
Response.Write("</script>");



搜尋相關Tags的文章: [ 重新導向刷新 ] ,
本篇文章發表於2020-09-23 11:30
1樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
1.首先是一個提醒
不要使用Response.Write去動態產生Script
建議您參考以下這一篇
https://dotblogs.com.tw/hatelove/2009/10/28/11325

2.一個認知分享先
webform當網址改變,他的ViewState就會改變
對Webform來說,要把它當作全新了瀏覽
因此當你的網址從【Ecr_signview2.aspx】變成【Ecr_signview2.aspx#tab2】
事實上他的ViewState全部重來
這是可能導致您所謂的【但資料不會刷新,如果拿掉就正常,但畫面就會切回第一個頁籤】可能的原因

至於如何改
方式很多
例如:Ecr_signview2.aspx#tab2的方式重新抓一次資料
或者,重新自己處理tab active
由於沒看到您的程式碼,所以就講一下方向
實際的部分,您再依據實際的程式碼去調整

^,^a
本篇文章回覆於2020-09-23 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小裕
檢舉此回應
感謝tomcat
後來我主頁是接子頁的值紀錄他是哪一個tab
然後處理tab active
目前我想到的方法是這樣
這樣是有成功
不知道是否是個好的解決方式

string tab_trans = Session["tab"].ToString();

if (tab_trans == "tab2")
{
tab_aa.Attributes.Remove("class");
tab_cc.Attributes.Add("class", " active");

tab3.Attributes.Remove("class");
tab3.Attributes.Add("class", " tab");

tab2.Attributes.Remove("class");
tab2.Attributes.Add("class", "tab active");
}
else
{

}
本篇文章回覆於2020-09-23 16:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

小裕
檢舉此回應
另外感謝你的解說,以前都是可以跑就好,
每次你的提醒慢慢改掉以前好多不好的寫法
真是感謝!
本篇文章回覆於2020-09-23 16:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
使用Session的提醒
1.Session是使用Server端的記憶體的寶貴資源,如果可以少用盡量少用
我個人是有安全性疑慮的才會放Session,例如登入帳號

2.Session使用後確定不再使用時,記得清除釋放
請參考:
https://asp-net-example.blogspot.com/2009/01/aspnet-session-remove-example-how-to.html

以您的例子,紀錄哪個要active,這個應該沒有安全疑慮的資訊
小喵我會用Cookie或者localStorage這類的來記錄

^_^
本篇文章回覆於2020-09-24 09:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.