UI模式允许用户添加具有无限子项的项目

我正在编写一个ASP.NET应用程序。我需要包含一个页面,用户可以在其中添加一个包含多组子项的项目,每个子项的数量不受限制。子项本身包含10到15个字段,因此需要相当多的UI空间。 作为我的意思的一个例子,用户需要能够向系统添加业务记录,包括任意数量的员工记录和任意数量的资产记录。 我通常这样做的方法是使用MultiView控件,顶部有一组选项卡。选项卡在MultiView的视图之间切换。第一个选项卡将用于业务记录,第二个选项卡用于员工记录,第三个用于资产记录。员工和资产的视图最初是空的,只需一个按钮即可添加新的员工(或资产)。单击此按钮时,将回发页面并动态添加用户控件以捕获Employee(或Asset)的详细信息。 有一个保存按钮可将整个对象图保存到数据库中。 这对于编程和维护来说非常复杂,我经常会遇到管理动态用户控件的ViewState的麻烦。显然,页面上的ViewState也会变得相当大,使得页面速度很慢。 优点是它是一个非常直观的UI供用户理解,用户可以在将任何内容保存到数据库之前添加所有内容并进行检查。 您能否建议您可以使用的任何其他UI模式以及任何优点或缺点? 谢谢 大卫     
已邀请:
看看Quince,这是一个UX模式库,可以帮助您提升灵感:http://quince.infragistics.com/ 关于viewstate,如果你没有没有州的MVC,你有没有考虑过以下技巧: 禁用非上下文元素上的ViewState(即:标签) 通过定义bzips> base64编码的自定义处理程序来压缩ViewState。您最终会在客户端节省的空间量会让您感到惊讶 将viewstate存储在服务器上,创建一个请求ID,并将此id绑定到应用程序缓存,其中有一个到期窗口=到会话生命周期(非滑动),然后用你的guid来回替换viewstate。 干杯, 弗洛里安     
我喜欢你的多视图控件设计,使用选项卡在视图之间导航。对我来说,我曾经有过大量的观点,有时候需要绕过一些步骤。你几乎处于向导控制的边缘,但我看到你的每个步骤都太复杂了,无法使用官方向导控件。 就我而言,我将每个视图分成一个特定的网页。使用您的示例,请考虑创建三个页面:Business.aspx,Employee.aspx和Asset.aspx。如果您有验证Web表单的代码,则可以在每个Web页面中引用它。我这样做是因为在我的情况下,我在每个“步骤”上添加了许多记录。我不想担心每个帖子必须正确地重新创建视图状态的开销和错误空间。您的Business.aspx页面知道如何自己处理并且无需担心有效的员工记录或数据。当我遇到这个问题时,我的多视图模式可以很容易地将视图分成不同的页面。哦,有人直接浏览Asset.aspx,我会显示一条消息,说明用户跳过枪或制作一个简单的视图表格,允许他们在添加资产之前选择相应的资源和/或员工。     

要回复问题请先登录注册