Url redirection 单击链接后,Spotfire重定向到主页

Url redirection 单击链接后,Spotfire重定向到主页,url-redirection,spotfire,Url Redirection,Spotfire,问:有一个按钮,单击该按钮时,会从服务器上的文件夹下载文件并保留在当前页面上 当前状态和问题:我有一个CustomWizardPromptControlPage,它向HTMLTextWriter写入一个简单的按钮。按钮的onclick事件触发一个window.open(urlToDocument,“\u blank”)。通过使用onclick按钮,它实际上允许我下载文件,但是父页面会重定向到主页 已尝试:href-未下载文件并将我重定向到主页。表单提交-未执行任何操作 如果有人能告诉我为什么Sp

问:有一个按钮,单击该按钮时,会从服务器上的文件夹下载文件并保留在当前页面上

当前状态和问题:我有一个CustomWizardPromptControlPage,它向HTMLTextWriter写入一个简单的按钮。按钮的onclick事件触发一个window.open(urlToDocument,“\u blank”)。通过使用onclick按钮,它实际上允许我下载文件,但是父页面会重定向到主页

已尝试:href-未下载文件并将我重定向到主页。表单提交-未执行任何操作

如果有人能告诉我为什么Spotfire会这样做,以及我能做些什么来阻止它的发生,我将不胜感激

--跟进注释请求的工作代码示例

namespace ACompanyName.SpotFire.ExportWithFilters
{
    public class ExportWithFiltersWebPromptControl : CustomWizardPromptControl
    {
        public ExportWithFiltersWebPromptControl(ExportWithFiltersFileSettings settings)
        {
            this.AddPage(new ExportWithFiltersPage(settings));
        }

        private class ExportWithFiltersPage : CustomWizardPromptControlPage
        {
            private readonly ExportWithFiltersFileSettings _settings;

            public ExportWithFiltersPage(ExportWithFiltersFileSettings settings) : base("Export with Filters")
            {
                _settings = settings;
            }

            protected override void OnGetContentsCore(HtmlTextWriter writer)
            {
                var domain = "https://dev.AURL.com";
                var filename = _settings.ExportWithFiltersFileInfo.Name;
                var fullFilePath = string.Format("{0}/{1}/{2}", domain, "Exports", filename);
                writer.WriteLine("<a href='{0}' target=\"_blank\">Download Export with Filters</a>", fullFilePath);
            }

            protected override void OnGetScriptsCore(StringBuilder builder)
            {
            }

            protected override void OnLeavePageCore(FormData data)
            {
            }

            protected override bool OnValidatePromptCore(FormData data)
            {
                return true;
            }
        }
    }
}
名称空间ACompanyName.SpotFire.ExportWithFilters
{
带有筛选器WebPromptControl的公共类导出:CustomWizardPromptControl
{
带有过滤器WebPromptControl的公共导出(带有过滤器文件设置的导出)
{
此.AddPage(新的ExportWithFilterPage(设置));
}
带过滤器的私有类导出页面:CustomWizardPromptControlPage
{
带过滤器文件设置的专用只读导出\u设置;
公共ExportWithFiltersPage(ExportWithFiltersFileSettings设置):基本(“使用过滤器导出”)
{
_设置=设置;
}
受保护的覆盖无效OnGetContentsCore(HtmlTextWriter)
{
变量域=”https://dev.AURL.com";
var filename=\u settings.ExportWithFiltersFileInfo.Name;
var fullFilePath=string.Format(“{0}/{1}/{2}”,域,“导出”,文件名);
writer.WriteLine(“,fullFilePath);
}
受保护的覆盖无效OnGetScriptsCore(StringBuilder)
{
}
仅LeavePageCore(FormData数据)上的受保护覆盖无效
{
}
受保护的覆盖布尔onValidateComptCore(FormData数据)
{
返回true;
}
}
}
}

结果表明,Spotfire不喜欢将
放到页面中。用一个目标为空白的超链接替换掉它,它就像一个符咒。如果仍然需要一个按钮,样式化的div应该可以做到这一点。

您能分享一些您目前拥有的代码吗?显然,Spotfire不喜欢带有onClick事件的按钮。将其替换为onClick事件的链接,而不是href,它满足了我的需要。Thx用于评论,但我没有找到使用CustomWizardPromptControlPage的任何地方,因此如果您分享您的工作示例,那将是一件好事。添加了Jacek SierajewskiI,我今天为此绞尽脑汁了几个小时。但愿我记得在这里看到过你的帖子!我的解决方案是使用
而不是
。似乎Web播放器的JS库中有某种东西将
onClick
附加到所有
上,并让它们离开当前视图(在10.2中,它将关闭当前文档)。我将作为一个可能的错误提交。好的,从支持人员那里得到的消息是,这实际上是一种浏览器行为!事实证明,在Chrome中,一个
type
属性默认为
type=“submit”
,您知道,它将提交表单。您可以通过组合一个简单的表单并在两个浏览器中进行测试来确认这一点。这个问题可以通过
解决。有点多余,但是嘿。