0

伙计们,我已经编写代码 15 年多了,但直到 3 个月前才设法避免“Web 开发”。

我继承了一个旧的 Asp.net 应用程序(从 .net 1.1 开始,我们现在使用 .Net 2.0),它是我们产品的管理工具。

在一些地方,管理工具只是维护一长串值。

列表(可能是 200 多个项目)出现在 GridView(页面 A)中,用户单击项目的编辑按钮,这会将他们带到项目的编辑页面(页面 B),他们可以在其中更改值(或值,列表中的项目可能与多个值相关联,例如名称和地址以及首选颜色、猫的品种......)

目前,当用户在页面 B 上按下“保存”时,我们会重定向回页面 A。该页面在列表顶部打开,这让用户很恼火,因为经常需要依次配置多个项目,而用户需要到 1. 记住他们刚刚编辑的项目,2. 向下滚动到该项目

我想要做的是让列表将用户带回到他们刚刚编辑的项目,因为通常需要一起配置顺序的几个项目。

最快的枪停止。. . 继续阅读

  1. 关于“重新组合项目以减少列表中的项目”行的建议将被视为无用
  2. .Net 3.5 自动执行此操作的有效点,将被我认为没有帮助(但无论如何发布它们,它可能会帮助其他一些可怜的傻瓜)
  3. 我想我可以通过在重新加载页面 A 时发布已编辑项目的 ID 并将网格滚动到这一点来做到这一点,但是我的问题是. . .

是否有一个我不知道的功能(以及它是什么)和/或
什么是公认的这样做的方式?

在此先感谢 B. Warrier

4

2 回答 2

3

这可以使用锚标签来实现。在页面 A 上输出元素时,在每个元素旁边设置一个锚标记,如下所示:

<a name="#175"></a>

该项目的项目 ID 为 175。然后,当您重定向回 PageA 时,将“#175”添加到 url 的末尾

Response.Redirect("PageA.aspx#175");
于 2008-10-22T10:49:43.313 回答
1

您可以做的最简单的方法是在 URL 中的查询字符串中从 PageB 传回一个 id,同时在保存到 PageB 后重定向回 PageA。

例如 www.example.com/PageA.aspx?editedId=89

而在PageA的PageLoad中,可以通过查看HttpContext.Current.QueryStrubg["editedId"]中是否有有效值来判断是否来自编辑详情页,如果有则表示来自PageB。您可以使用此值轻松突出显示或选择数据网格中的行

最快的枪停止。. . 并继续阅读...

一个好的控件允许您在同一页面上同时编辑多行,例如在 PageA 上,并将它们保存在一起。检查您的 Telerik 控件是否有数据网格。你会喜欢的。

于 2008-10-22T10:39:25.580 回答