簡體   English   中英

跨回發的C#代表

[英]c# Delegates across postback

當我在會話狀態下存儲委托(指向頁面方法)時,在回發后檢索它並執行該委托的目標是舊頁面對象而不是當前頁面對象,無論如何都可以更改該對象的目標委托,以便它在當前頁面對象上執行方法?

我曾考慮過要使用靜態頁面方法,但隨后我無法訪問頁面上的控件,而該控件無法達到我要執行的操作,即更新文本框。

我對此有些緊張。 Jon Skeet和Mehrdad的建議都可以使用(當然),但是應該在請求完成后處理頁面實例。 該委托可能阻止這種情況的發生,從而導致等效於.Net的內存泄漏。

也許您可以使用反射並將System.Reflection.MethodBaseSystem.Reflection.MethodInfo對象放入會話中,以供稍后調用。

delegateInstance.Method.Invoke(obj, arguments);

讓您的代表將新頁面作為其第一個參數,並在調用它時傳遞this

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM