Ste*_*ork 7 sharepoint redirect sharepoint-2010
我正在查看一些代码,它破坏了SP2010中List项目更改的保存.在事件接收器的构造函数中,HttpContext被存储为局部变量,然后在ItemUpdating中,最后检索包含返回URL的查询参数并传递SPUtility.Redirect(...).这具有取消在编辑表单中进行的任何更改的效果.因此,按照这样的情况,我发现在线我将HttpContext存储为静态类对象,并在ItemUpdated事件中重定向,现在编辑持续存在,然后重定向到我们期望的位置.
我有一个问题,即将特定用户的HttpContext作为静态存储在一个类上,如果另一个用户在最初和重定向之前设置上下文的时间之间执行相同的操作,则可能会被劫持.用户2将覆盖上下文并存在潜在问题.
我可以想到的唯一另一个选择是快速输出将存储一个静态字典,其中键是用户ID,然后在重定向之前删除该条目,以便不会留下杂散的HttpContext实例泄漏.
因此,从这里查看已接受的解决方案,servy42的第一个响应是,The fact that it works for a few trivial test cases at first doesn't make it a viable solution.但没有提出可行的解决方案.
还有另一个选项best approach may be changing Save Button in ribbon such that when clicked, a ECMA script first save your Item, then redirect to other page, or open other page in dialog.建议进一步向下,但这是唯一的另一种方式吗?
我对SP很新,只是试图用我有限的知识来处理大量错误的做事方式,而不幸的是被SP2010困住了.
有关如何去做的任何想法?
============
所以有两个站点,一个称为A,它将有一个名为B的子站点.A有一个List并向该列表添加一个项目触发事件接收器,它创建子站点B和其他相关的东西.如果我从Bs的SharePoint列表中修改B"项目",那么我不需要重定向并返回列表就可以了.如果我正在寻找并在A上整齐地呈现甘特图列出B,如果我在点击保存后编辑B我们需要回到A.如果我在B上还有一个编辑按钮,所以我想回到B编辑完成后单击保存.
因此,当我们进入编辑屏幕时,我们将附加source =.从一些阅读我已经完成它似乎SharePoint将选择并重定向.编辑页面上的一个字段是A站点下面的相对URL,如果更改,则重定向URL将不再有效并抛出404,因此我们用新输入的值替换旧的B子路径.但是我们需要将代码重定向到新位置.
我不太确定我是否正确理解您的要求。但我会尝试一下。只是我的理解的快速总结(如果我错了请纠正我......):
我的方法是这样的:
希望这会有所帮助...干杯!
编辑:只需阅读有关更改 url 的要求。创建一个自定义编辑表单,您可以使用一些将值传递回原始站点的 js 进行增强 ->对话框中的参数。然后,您可以在 javascript 回调中做出相应反应并重定向到新的 url。
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |