伙计们,我已经编写了15年以上的代码,但设法避免了“网络开发”和“#8220;直到3个月前。

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

在几个地方,管理工具只维护很长的值列表。

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

目前,当用户按下“保存”在页面B上,我们重定向回到页面A.页面顶部打开页面,这会使用户烦恼,因为通常需要将几个项目顺序配置在一起,并且用户需要1.记住它们只是哪个项目编辑,2。向下滚动到该项目

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

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

  1. 关于“重新组合项目的建议,以便列表中的项目更少”将被视为无益的
  2. .Net 3.5自动执行此操作的有效点,对我来说将被视为无益(但无论如何都可以发布,这可能有助于其他一些可怜的傻瓜)。
  3. 我想我可以通过在重新加载页面A时发布已编辑项目的ID,并将网格滚动到此点,但我的问题是。 。
  4. 有没有这样做的功能,我不知道(以及它是什么) 和/或点击 这种做法的可接受方式是什么?

    提前致谢 B. Worrier

有帮助吗?

解决方案

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

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

此项目的项目编号为175。 然后,当您重定向回PageA时,添加“#175”。到网址的末尾

Response.Redirect("PageA.aspx#175");

其他提示

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

e.g。 www.example.com/PageA.aspx?editedId=89

并且在PageA的PageLoad中,您可以通过检查HttpContext.Current.QueryStrubg [&quot; editedId&quot;]中是否存在有效值来检查这是否来自编辑详细信息页面, 如果有,那就意味着它来自PageB。 您可以使用此值轻松突出显示或选择数据网格中的行

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top