假设我在列表页面和我 页面,比方说,第10页。然后我选择 该页面上的记录并重定向到详细信息 页。之后,我点击编辑 重定向到编辑页面。
我更新记录后,我被重定向回 详细页面。我,然后,按回来 返回列表继续我的浏览 我离开的地方。这里的关键是 我在列表中离开的地方 第10页。
处理此问题的最佳方法是什么?
最初,我在每个webforms中放入一个名为页码的隐藏字段,并将其与来回的querystring一起传递。看起来像很多或有点冗余,检查每个页面上的查询字符串并传递它。
我想知道是否还有其他一些方法。例如,我一直在阅读关于UI和表示层之间的分离是一个好主意(对于更大规模的应用程序)。对我来说,我理解它,因为所有点击处理程序事件都会控制表示层,这只是一个普通的类?
这是对的吗?此外,表示层是否假设实现某些特定的东西?我知道这可能会保存在会话中,但是有人可以幽默我并告诉我如何使用表示层来处理这个问题(我知道这会有点过头但是有可能吗?)
答案 0 :(得分:1)
我认为没有 THE 最佳方式。一切都取决于你的成就,即。整个项目的要求。
毕竟,根据描述,我甚至不明白为什么你有三页要做一件事。顺便说一句,ASP.NET数据控件主要处理所有内容,因此您甚至不必问自己如何执行此操作(除非您有充分的理由避免使用ASP.NET控件)。
例如,一个简单的<asp:ListView />
将允许您列出每页的项目页面,并在选择单个项目时显示详细信息。元素的版本也很容易。
答案 1 :(得分:1)
你所要求的是......大而且可以跨越多篇博文,以全面了解UI设计模式。
我在这里有一个关于Asp.Net的MVP的小例子:What is the best way to reuse pages from one website in another?
然而,并非详尽无遗。如果你真的想要这方面的信息,你应该做一些研究WebForms MVP或ASP.Net MVC等框架。
答案 2 :(得分:0)
结帐ASP.NET MVC。它是一个基于ASP.NET的框架,用于在表示层和业务层之间进行分离。
答案 3 :(得分:0)
为简单起见,您所描述的是使用Asp.Net动态数据的完美场所的一个很好的例子。
它非常容易和强大,一旦你深入挖掘就很容易修改。我将从这里的视频开始:http://www.asp.net/dynamicdata
我在每个项目中都越来越多地使用它,至少对它来说是简单的CRUD部分。现在我已经习惯了,我真的无法表达我对这个工具的喜爱程度。