2016-01-06 3 views
1

Задайте вопрос: есть ли кнопка, которая при нажатии загружает файл из папки на сервере и остается на текущей странице.Spotfire Перенаправление на домашнюю страницу после ссылки нажмите

Текущее состояние и проблема: У меня есть CustomWizardPromptControlPage, который записывает простую кнопку в HTMLTextWriter. Событие onclick для кнопки запускает окно window.open (urlToDocument, '_blank'). Делая кнопку с onclick, она действительно позволяет мне загрузить файл, однако родительская страница перенаправляется на домашнюю страницу.

Уже пробовали: href - не загрузили файл и перенаправили меня на домашнюю страницу. form submit - ничего не делал.

Если кто-то может дать мне некоторое представление о том, почему Spotfire делает это и то, что я могу сделать, чтобы остановить его от происходящего, было бы весьма признателен

--follow с рабочего образца кода для комментариев запроса

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; 
      } 
     } 
    } 
} 
+0

Не могли бы вы поделиться некоторым кодом того, что у вас есть, пожалуйста? –

+0

Видимо Spotfire не понравилась кнопка с событием onClick. Заменил его ссылкой с событием onClick вместо href, и это сработало для моих нужд. – Digi

+0

Thx для комментария, но я не нашел места, где CustomWizardPromptControlPage используется, поэтому было бы хорошо, если бы вы поделились своим рабочим примером. –

ответ

0

Оказалось, что Spotfire не понравилось размещать <button> на странице. Поменял его с помощью гиперссылки с целью пустого, и это работало как шарм. Если кнопка все еще нужна, стилизованный div должен делать трюк.

Смежные вопросы