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

樓主

龍貓王
初學者
20 40
1235 67
發送站內信

因想只在login 時依權限抓取Menu item

所以在 login.aspx.cs 中, 登入成功後
Menu loginmenu = new Menu();
loginmenu.Items.Add....
Session["Menu"] = loginmenu;
Page.Response.Redirect("default.aspx");

就用Session["Menu"] 來記錄

而在default.aspx 放一個空的menu1 <asp:Menu ID="Menu1" runat="server"></asp:Menu>
在 page_load 中, 直接指定
Menu1 = (Menu)Session["Menu"];

不過畫面的 menu1 還是空的
是少做什麼 還是需要一個一個節點再去加?


搜尋相關Tags的文章: [ menu ] , [ session ] ,
本篇文章發表於2018-06-05 11:38
== 簽名檔 ==
新手, 帥氣XD
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
您試試
放一個PlaceHolder
然後,在這個PlaceHolder中,加入Session取回的控制項


以上程式我沒測過,您試試看這樣的方向,並是當調整程式碼∼
^.^a
本篇文章回覆於2018-06-05 11:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
另外,事件建議您調整到Page_Init的事件中
動態產生控制項,最好寫在Page_Init的事件
^_^
本篇文章回覆於2018-06-05 11:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

龍貓王
檢舉此回應
試了一下
如果 default.aspx 新增了menu 跑去其它頁面 又轉回 default.aspx 會出現menu已存在的類似錯誤

另外為了搭配原先pototype 設計的樣式
以及懶得再排除上述錯誤 XDD

改用組html 字串的方式

login.aspx.vb 先依權限組 menu html字串
MenuStr = MenuStr + "<li><a href ='"+ Convert.ToString(tmprow["prglink"])+"' ><span >" + Convert.ToString(tmprow["prgid"]) + Convert.ToString(tmprow["prgname"]) + "</span></a></li>";
Session["Menu"] = MenuStr;

放一個literal
<asp:Literal ID="menu" runat="server"></asp:Literal>
page_load
menu.Text = Convert.ToString(Session["Menu"]) ;

不過還是謝謝小貓提供的方法
本篇文章回覆於2018-06-05 15:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
新增了menu 跑去其它頁面 又轉回 default.aspx 會出現menu已存在的類似錯誤

透過FindControl加上判斷null
應該就可以處理
用個變數去承接FindControl的結果,判斷如果是null,才從Session去取回


提供參考
^.^a
本篇文章回覆於2018-06-05 16:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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