我正在使用ASP.NET Web窗體,並且遇到了如何處理狀態的問題。在ASP.NET web窗體中添加對象列表的界面
我正在添加新產品,並且產品有不同的變化。每種變化都有幾個獨特的特徵,例如:價格,購買價格,變化類型,變化值。
在UI中,我希望能夠添加變體列表。當我添加了有關產品的X變體和其他信息時,我想提交整個表單,然後開始執行「添加到數據庫」部分。
解釋具有圖像:
好了,現在用的圖像。用戶爲該變體添加一個新名稱,單擊「添加」,然後將其添加到當前變體列表框控件。當點擊「當前變化」中的變化時,我可以填寫變化信息並保存。
當我完成所有變化後,我可以提交表單。
現在,我的問題
如果我使用了電流的變化的AutoPostBack,它使回傳,一切都因爲狀態的遺忘。使用標準的ASP.NET Web表單,我找不到存儲這些列表的方法。
我真正需要的是從Windows窗體中包含對象的ListBox。但是,好運氣和一個無狀態的Web ;-)
解決方案,我能想到關
在每一次點擊,改變被保存到被提交表單
- 時使用的臨時會話
在每一次點擊,我救不了的東西到數據庫暫時
我想要的一種解決方案
一個很好的解決方案是一些jQuery魔術,我可以動態地創建所需的所有行而不需要回發。然後當我完成時,我可以迭代所有控件,並將其存儲在數據庫中。
我想這是一個正常的問題,有人可以發送一個明顯的鏈接,或者告訴我它是多麼容易修復它! :-)
哦,是的,最後一件事,不要讓我下地獄,因爲我仍然有Web窗體項目。
你」已經非常多地列出了你的選項 - 會話或數據庫。我不認爲客戶端解決方案會因爲您的複雜性而將其切入此處 - 您需要保存每個變體的信息,這可能會在添加後發生。這對於Javascript/jQuery來說不是不可能的,但它可能會涉及到,我想你會想要更多的庫(用於數據綁定等)來構建一個強大的解決方案。 (您還必須將Javascript對象拉入服務器代碼中,也許是JSON?)您的最終選擇是.NET MVC。 :P – 2013-03-25 17:11:34
不要擔心由於Web窗體而不得不下地獄。它已經存在了超過10年..它非常成熟。不要讓別人告訴你,否則 – 2013-03-25 18:20:25