SharePoint SaveButton重定向URL属性不存在';我什么也不做。为什么?

SharePoint SaveButton重定向URL属性不存在';我什么也不做。为什么?,sharepoint,sharepoint-2010,save,url-redirection,Sharepoint,Sharepoint 2010,Save,Url Redirection,我的EditFormTemplate中有一个SharePoint SaveButton,我不希望浏览器重定向到默认位置,即列表视图(即AllItems.aspx)。相反,我希望用户被重定向到另一个页面 许多其他人似乎也有同样的问题。我不想用标准的aspx按钮控件替换SharePoint SaveButton,也不想使用JavaScript,因为这会带来一系列问题,坦率地说,我认为这种功能不值得JavaScript攻击 如果SharePoint SaveButton确实存在一个名为“Redirec

我的EditFormTemplate中有一个SharePoint SaveButton,我不希望浏览器重定向到默认位置,即列表视图(即AllItems.aspx)。相反,我希望用户被重定向到另一个页面

许多其他人似乎也有同样的问题。我不想用标准的aspx按钮控件替换SharePoint SaveButton,也不想使用JavaScript,因为这会带来一系列问题,坦率地说,我认为这种功能不值得JavaScript攻击

如果SharePoint SaveButton确实存在一个名为“RedirectURL”的属性(它确实存在),那么它究竟为什么不将浏览器重定向到指定的URL

<SharePoint:SaveButton ID="SaveButton1" runat="server" RedirectUrl="[My Custom URL]" />


为什么上面的代码没有完成我希望它完成的任务?

您需要使用JavaScript调用ddwrt:GenFireServerEvent(“\u redirect={URL}”)。 请看下面的示例:

<input type="button" class="contact-button" value="Save" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirect={example.aspx}')}" />

希望这能帮上忙。

好的,我想出来了

我创建了一个SPListItemEventReceiver,并将Elements.xml文件中的ItemUpdated同步元素设置为“Synchronous

同步
然后,我按照概述的指示行事

因为我需要在更新后执行重定向,所以我不必做所有的杂事来尝试在更新异步事件中执行更新异步操作,如上面链接中针对ItemAdded和ItemAdding所述


我只是添加了一个名为currentContext的私有HttpContext属性,添加了一个默认构造函数,在其中我将currentContext属性设置为HttpContext.Current,然后执行SPUtility。在我的ItemUpdated事件中使用存储在currentContext属性中的值重定向已在构造函数中设置。

如果所用表单的URL包含源参数,则SaveButton出现问题。我不记得详细信息,但我的修复方法是在打开表单时不包含该参数

听起来对你来说是一个不同的问题,但这可能会帮助别人


Dave

我希望避免使用JavaScript。为什么会存在RedirectURL属性?它有什么用途?即使我使用上面的示例代码和JavaScript onclick事件使用标准HTML输入按钮路由,它仍然不起作用。事实上,按钮甚至没有呈现。请注意,当我使用此方法进行我的自定义上载ASPX页面工作正常。我遇到的问题发生在我的EditForm RenderingTemplate上。
<Synchronization>Synchronous</Synchronization>