0
由於itemcommand事件在大部分(如果不是全部)頁面/控件init/load事件之後觸發。什麼是持久化在itemcomment上修改的會話變量數據的最佳方式(例如添加項目),以便頁面可以使用修改的會話對itemcommand做出反應?在listview itemcommand上保留會話變量的最佳方式ASP.NET
由於itemcommand事件在大部分(如果不是全部)頁面/控件init/load事件之後觸發。什麼是持久化在itemcomment上修改的會話變量數據的最佳方式(例如添加項目),以便頁面可以使用修改的會話對itemcommand做出反應?在listview itemcommand上保留會話變量的最佳方式ASP.NET
你能趕上回發早前在頁面的生命週期:
// id of the control
string id = Request.Form["__EVENTTARGET"];
if (!string.IsNullOrEmpty(id) && id.Contains("myControlId"))
{
string argument = Request.Form["__EVENTARGUMENT"];
...
}
,但它既不非常優雅也不安全。我會遵循Skowronek的建議:在PreRender上放置更多的邏輯。
我只看到(和工作)的解決方案是處理頁面預渲染上的任何功能。似乎可以工作,但奇怪的是itemcommand不像其他控件事件那樣觸發。 – Skowronek 2010-08-06 19:08:53
你能提供一個你想要做什麼和沒有爲你工作的例子嗎? 一般而言,您應該可以根據您在itemcommand處理程序中看到的適應性來修改會話,但由於大多數頁面事件已經觸發了您的頁面,所以在下一個請求(通常不是你想要什麼)。 – 2010-08-06 19:35:06
問題是我需要一個計數器在頁面中點擊一個按鈕後在頁面上更新。我可以通過將更新邏輯放入頁面預渲染事件中來完成。 – Skowronek 2010-08-07 15:51:39