Sharepoint 发送Infopath表单后的自定义操作
我正在Sharepoint 2010中使用启用浏览器的Infopath表单,我希望在单击“提交”并说“谢谢…您的表单已发送…”后显示一个模式弹出窗口,甚至重定向到另一个页面 我无法使用视图(并在提交时更改为该视图),因为表单位于页面中的“选项卡”内。我的意思是,页面包含5个分区,可通过5个按钮访问。 默认打开的DIV是第一个DIV。表格在第五分区内。 提交操作(回发)后,页面将重新加载,并显示第一个DIV,因此用户无法看到带有“谢谢…”的视图 关于如何解决这个问题有什么想法吗? 提前谢谢 编辑2 我尝试了安德烈亚斯的解决方案,但没有成功。 这是我的“提交”按钮代码Sharepoint 发送Infopath表单后的自定义操作,sharepoint,redirect,postback,infopath,modalpopup,Sharepoint,Redirect,Postback,Infopath,Modalpopup,我正在Sharepoint 2010中使用启用浏览器的Infopath表单,我希望在单击“提交”并说“谢谢…您的表单已发送…”后显示一个模式弹出窗口,甚至重定向到另一个页面 我无法使用视图(并在提交时更改为该视图),因为表单位于页面中的“选项卡”内。我的意思是,页面包含5个分区,可通过5个按钮访问。 默认打开的DIV是第一个DIV。表格在第五分区内。 提交操作(回发)后,页面将重新加载,并显示第一个DIV,因此用户无法看到带有“谢谢…”的视图 关于如何解决这个问题有什么想法吗? 提前谢谢 编辑2
public void CTRL114_5_Clicked(object sender, ClickedEventArgs e)
{
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
this.Submit();
HttpContext.Current.Response.Redirect("ThankYou.aspx");
});
} catch (Exception ex)
{
System.Console.Write(ex.toString());
}
}
当我点击Submit时,什么也没发生。无页面重定向,无视图切换,无数据提交。
有什么想法吗?
谢谢大家! 弹出窗口不适用于启用浏览器的表单,您唯一的可能是自定义代码。在提交代码中,可以重定向到静态感谢页面
HttpContext.Current.Response.Redirect("ThankYou.aspx");
编辑:在VSTA编辑器中,确保引用了System.Web。没有实际的例外,很难说什么不起作用。请尝试以下代码并发布输出-
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
this.Submit();
HttpContext.Current.Response.Redirect("ThankYou.aspx");
});
}
catch(Exception ex)
{
//implement your logging logic here
}
编辑2:你能在预览模式下打开表单并调试代码吗?还考虑将日志记录更改为类似的内容:
catch(Exception ex)
{
using(var writer = new StreamWriter(@"C:\log.txt",true))
writer.WriteLine("{0}\t{1}", DateTime.Now, ex.Message);
}
因为Console.WriteLine不能与InfoPath一起使用,而且您永远无法获得实际的异常。如果没有错误消息,恐怕很难进一步解决您的问题。另一种重定向方法是使用查询字符串的“Source”参数。但是,只能重定向到表单所在网站集中的页面。例如
http://[site]/_layouts/FormServer.aspx?XsnLocation=/sites/[site]/formservertemplates/[form].xsn<b>&Source=/sites/[site]/pages/[page]</b>
http://[site]/_layouts/FormServer.aspx?XsnLocation=/sites/[site]/formservertemplates/[form].xsn&Source=/sites/[site]/pages/[page]
如果Thankyu.aspx在当前网站colleciton之外,您可以重定向到中间页面,该页面将重定向到Thankyu.aspx。我听说没有其他方法可以绕过这个问题。谢谢你的回复,安德烈亚斯。请看编辑后的问题。再次感谢安德烈亚斯。请看新编辑的问题。