2014-11-19 4 views
0
<asp:LinkButton ID="lnkBtnPrint" runat="server" OnClick="lnkBtnPrint_OnClick" Target="_blank"> 
        </asp:LinkButton> 

У меня есть кнопка. Мне нужно открыть новую вкладку с контентом по клику.Перенаправление на новую вкладку в ASP.NET

protected void lnkBtnPrint_OnClick(object sender, EventArgs e) 
    { 
     if (!string.IsNullOrEmpty(hdnSubmissionID.Value)) 
     { 
      SessionHelper.Set(SessionKey.SubmissionId, hdnSubmissionID.Value); 
      Response.Redirect(PublisherConfigurationManager.Navigation + "Printable_Submission_Document.aspx"); 
     } 
    } 

Я пытаюсь применить ответ с этого поста Opening a URL in a new tab в моем случае, но просто получить текст в верхнем левом углу, как «window.open ...».

Добавить _blank для связи - также не помогает.

+2

Добро пожаловать в StackOverflow! См. [«Если вопросы включают« теги »в их названиях?») (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), где консенсус «нет, они не должны». –

ответ

0

Вы динамически перенаправляетесь на основе инициированного щелчка. Я думаю, что для этого сценария вы могли бы изменить его, чтобы настроить HRef перед нажатием кнопки, так как вы знаете свои данные при загрузке страницы, при условии, что ваш образец кода завершен.

public void Page_Load() 
{ 
    if (!string.IsNullOrEmpty(hdnSubmissionID.Value)) 
    { 
     SessionHelper.Set(SessionKey.SubmissionId, hdnSubmissionID.Value); 
     lnkBtnPrint.HRef = PublisherConfigurationManager.Navigation + "Printable_Submission_Document.aspx"); 
    } 
} 

Сохраните свою цель так, как она есть, и удалите событие onclick из вашей ссылки. Теперь он должен открыть вашу «динамическую» цель в новом окне.

+0

да это помогает. И можете ли вы предложить решение для случая, когда в 'lnkBtnPrint_OnClick' я проверяю некоторую переменную (например, bool), и если true, то просто переадресовать и если false, то откройте в новой вкладке? – demo

+0

Вы можете проверить эту переменную при загрузке страницы? Если это так, я бы изменил вашу lnkBtnPrint в тот момент, чтобы либо иметь Target = "_ blanK", либо нет. Если это невозможно, вам понадобится javascript для обработки вашего дела. –

+0

Я, вероятно, ничего не понимаю о том, как работает LinkButton, но какая польза от установки HRef после клики на стороне клиента уже произошла? Ожидается, что код, который вы показали, будет выполняться при обратной передаче, вызванной щелчком пользователем элемента «a», созданного LinkButton, правильно? – Igor