ASP.NET網頁之間傳遞參數與值

來源:互聯網
上載者:User

ASP.NET網頁之間傳遞參數與值,方法很多,可以使用Application,Cookie,Session,或是Querystring等等。
由於Insus.NET開發的程式中,多數是在後台之間進行參數與值傳遞,因此很少使用Querystring,而是使用Session。Session? 我也會。 是的,使用Session進行傳遞參數與值,懂開發的程式員都會。

使用Session傳遞網頁之間的參數與值,可以做到輕微量級或是輕量級。

為了參數與值方便進行管理,Insus.NET會把這些存放一個集合內,時行傳遞。 在專案中,會建立一個類別。

中,20#代碼,是一個靜態方法,它有兩個參數,一個是Dictionary<object,object>和一個string url。參數集合將被存入Session來傳遞,而url是目標網頁的地址。就是這樣簡單。

而30#和32#行代碼,那是一個擴充方法。是判斷參數集合在添加參數時是否已經存在,存在的話,只是修改參資料值即可。

這樣子就行了。

來示範一下吧。在網網站建立兩個網頁,PageA.aspx和PageB.aspx. 前者在使用者點一點銨鈕或某一事件處理完畢,把一些參數傳至另外一個頁面,而後者,是接收參數,再進行其它邏輯處理。

在PageA.aspx拉一個銨鈕Button.

這些不是重點,重點在Button的Click事件中:

在pageB.aspx.cs接收參數:

第15,16行代碼,如果使用者直接在地址欄上輸入.../PageB.aspx的話,網頁會被導向PageA.aspx,也就是說,第一次不能直接存取PageB.aspx,而是需要先從PageA.aspx點擊了銨鈕之後,才可以進入pageB.aspx.

看看示範,示範是把源網頁的路徑傳至目標網頁中。

 

另外一個需要注意的是Session["TransferObject"]的名稱"TransferObject"需要和最初建立一個類別InsusBase.TransferParameter()方法內的session名稱相同。
是否有改善的地方,讓在開發時,不必記住這樣多session參數名呢?方法是有的。下面就是Insus.NET需要解決的地方。

開啟InsusBase.cs類別,分三步實現:

 
在接收參數的網頁,使用靜態屬性來替代session以及session的參數名。這樣解決可以上面所提及的問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.