我正在使用 ASP.NET Web 窗体,但我对如何处理状态有疑问。
我正在添加一个新产品,该产品有不同的变化。每个变体都有几个独特的特征,例如:价格、购买价格、变体类型、变体值。
在 UI 中,我希望能够添加变体列表。当我添加了产品的 X 变体和其他信息后,我想提交整个表单,然后开始添加到数据库部分。
用一张图解释:
好的,现在有一个图像。用户为变体添加新名称,单击“添加”,然后将其添加到当前变体 ListBox 控件。单击“当前变体”中的变体时,我可以填写有关变体的信息并保存。
完成所有变体后,我可以提交表单。
现在,我的问题
如果我使用当前变体的 AutoPostBack 并进行回发,那么由于状态,一切都会被遗忘。使用标准的 ASP.NET Web 表单,我找不到存储这些列表的方法。
我真正需要的是包含对象的 Windows 窗体中的 ListBox。但祝你好运,无状态网络 ;-)
我能想到的解决方案
每次单击时,更改都会保存到提交表单时使用的临时会话中
每次点击,我都可以暂时将内容保存到数据库中
我想要的一种解决方案
一个很好的解决方案是一些 jQuery 魔术,我可以在其中动态创建我需要的所有行,而无需回发。然后当我完成后,我可以迭代所有控件,并将其存储在数据库中。
我想这是一个正常的问题,有人可以发送一个明显的链接,或者告诉我修复它是多么容易!:-)
哦,是的,还有最后一件事,不要让我下地狱,因为我在 Web 窗体中还有项目。