asp.net如何在類檔案中呼叫ViewState?
在“頁面.aspx.cs”中呼叫沒有問題
但直接在類檔案中"class.cs"呼叫是不可以的,應該怎么才能呼叫呢?
uj5u.com熱心網友回復:
可以考慮把ViewState內容作為引數傳遞給你的類。ViewState使用前提就是頁面上需要一個有runat=server標記的服務器端控制元件https://bbs.csdn.net/topics/20237945?page=2
uj5u.com熱心網友回復:
則真是個“古老的問題”了,它基本上最適合 2005 年前的 asp.net 控制元件開發頂峰時的問題,一下子讓人有點懵,需要回憶古老的記憶。所謂“類檔案”,我假設你不是“為了技術而技術”地說概念,而是把你的 BLL 業務邏輯處理方法叫做“類檔案”吧!那么處理業務的時候自然就是應該意識到要跟 UI 分離開,特別是跟非常特殊、非常罕見的 UI 層特性分離開。UI 層代碼到了服務器端的具體 Page 中的各種事件,捕獲了前端請求觸發的需求,在事件中你的 UI 層服務器端代碼呼叫 BLL 層業務物件處理方法,那么輸入的資料是你的事件處理代碼要負責從 ViewState 中獲取、并傳給業務處理功能方法的。本末倒置會干擾系統設計,最終使得開發失控。
uj5u.com熱心網友回復:
在設計業務處理物件和方法時,“完全不應該關聯什么 ViewState 之類的概念”。要注意介面設計,注意誰依賴誰。UI層依賴于 BLL,而不是本末倒置。編程其實也很簡單,也有些難度。這種難度就在于,有些人一開始總是本末倒置而不理解架構設計原則,用 5 年也改不了(有的人甚至15年也改不了)。
uj5u.com熱心網友回復:
1 看到.aspx.cs的繼承類嗎?繼承了page,page又繼承了control,看到protected virtual StateBag ViewState { get; }2 class.cs為什么要操作viewstate?
uj5u.com熱心網友回復:
ViewState就是一個字典表啊,想怎么用就怎么用啊。uj5u.com熱心網友回復:
純屬好奇,樓主你為啥要用類去讀viewstate?uj5u.com熱心網友回復:
在httpcontext里找https://kb.kutu66.com/CSharp/post_12820133
東西太古老,我們不能保證這個代碼正確,不過東西肯定是在httpcontext里到是真的
uj5u.com熱心網友回復:
viewstate是頁面(page)級別的.. 如果你涉及到了class 那直接用靜態變數或session就行了 一般很少在類中使用轉載請註明出處,本文鏈接:https://www.uj5u.com/net/6797.html
標籤:ASP.NET
