在ASP.NET MVC 4,我有一個多頁的應用程序,做一些安全的第一頁上查看,存儲在會話變量的結果,然後使用OnActionExecuting在每個控制器上測試Session變量,因爲我在頁面之間移動。其中一個視圖使用帶有可排序列的WebGrid。當我點擊列標題進行排序時,我調用了視圖的默認Action,但是在OnActionExecuting中,Session變量不存在。它似乎創造了一個新的會議。然後我的邏輯將其視爲安全失敗。使用的WebGrid與排序的列,呼叫控制器繞過會議
我還沒有找到這個點擊(排序)在哪裏被處理,所以這是我的第一個問題 - 也許我可以影響正在傳遞的內容。或者,(理想情況下),WebGrid中有一個設置,我錯過了將維持目前的會議。我目前遠離代碼,但那些是我還沒有找到的東西。
我所尋找的是在使用的WebGrid排序的列功能來保存會話的方式。
附加信息:在視圖中,的WebGrid的<th>
元素都爲錨,像<a href="/MyController?sort=MyColumnName?sortdir=ASC">
在你的ActionMethod中,你能夠在方法的上方寫入[[Authorize]]嗎?檢查用戶是否已登錄。這可能是您的選項嗎? – 2014-10-09 12:15:48
如果我無法獲得解決方案,我可以查看此內容。這將是一個重新設計,我的解決方案在除WebGrid以外的所有方面都確實可行。 – 2014-10-09 13:37:22