Подтвердить что ты не робот

С# Target = "_ blank" в LinkButton

возможно ли иметь target="_blank" в LinkButton... шахта, похоже, не работает

<asp:LinkButton runat="server" ID="g31" Text="PDF" 
    CommandArgument='<%# DataBinder.Eval(Container.DataItem,"productID") %>'
    CommandName='<%# DataBinder.Eval(Container.DataItem,"documentID") %>'
    OnCommand="linkbutton_showpdf" target="_blank">
</asp:LinkButton>

Или мне нужно использовать другой формат кнопки?

4b9b3361

Ответ 1

Просто создайте привязку с href, установленным на соответствующий url, и установите атрибут target на _blank, он откроет URL в новом окне.

<a href="urlOfThePage" target="_blank" >Click me</a>

Ответ 2

Вы можете использовать это с помощью кнопки "Ссылка"

Замените target="_blank" на OnClientClick="window.document.forms[0].target='_blank';".

Ответ 3

Ни один из текущих ответов не является правильным, даже тег <a> не является правильным ответом в asp.net.

Используйте кнопку HyperLink. Есть даже свойство для целевого атрибута.

<asp:HyperLink runat="server" 
    NavigateUrl='http://rrs.com/aspx/Equipment/EquipmentType.aspx'
    Target="_blank">
        Create/Edit Part Types
</asp:HyperLink>

Ответ 4

Вы можете использовать элемент управления Hyperlink, который имеет свойство target='_blank'. Однако, если вы должны использовать элемент управления LinkButton, вы можете добавить атрибут OnClientClick, который затем вызывает функцию JavaScript, чтобы открыть всплывающее окно

window.open();

Ответ 5

Я работал с Devsaninii, где я изменил цель формы и обнаружил, что нежелательное поведение остальных моих страниц переключается в новое окно после нажатия ссылки, которая изменила цель. Это имело смысл, но было нежелательным.

Я открывал файлы с некоторыми ссылками и загружал новые страницы с другими. Я хотел, чтобы файлы открывались в новых окнах, и я хотел, чтобы новые страницы открывались в том же окне. Но после того, как я сменил цель, все было в новом окне. Я мог бы пройти и добавить клиентский обработчик кликов для каждого linkbutton, но это было слишком громоздким.

Итак, вот что я придумал:

Я добавил класс в мой linkbuttons, который должен был иметь новое окно в качестве цели, а затем я добавил этот маленький кусок jQuery в свой script:

$(function() {
    $('a').click(function() {
        if ($(this).hasClass('changeTarget')) {
            window.document.forms[0].target = '_blank';
        } else {
            window.document.forms[0].target = '_self';
        }
    });
});

Теперь, когда нажата кнопка linkbutton, которая должна иметь новое окно, она открывается в новом окне, а когда что-либо еще нажата, она открывается в том же окне.

Ответ 6

LinkButton в веб-формах ASP.NET просто отправляет базовую форму с использованием JavaScript, поэтому target = "_ blank" фактически ничего не делает. Чтобы открыть новое окно, вы можете вместо этого изменить целевое свойство "формы" через JavaScript с помощью события LinkButton OnClientClick. Вам также нужно отменить изменение после щелчка (используя setTimeout), иначе дальнейшие нажатия кнопки будут непреднамеренно нацелены на новую вкладку.

<asp:LinkButton ID="uiNewTabExample" Text="Open New Tab" OnClick="uiNewTabExample_Click" OnClientClick="window.document.forms[0].target = '_blank'; setTimeout(function () { window.document.forms[0].target = '' }, 0);" 
runat="server" />

Ответ 7

Посмотрев на эти ответы, и ни один из них не был тем, что я хотел (сделайте это с помощью кнопки), я закончил использование гиперссылки, но использовал тот же стиль css, что и обычные кнопки:

.button {

    background-color:#011745;
    color:white;
    padding:7px 12px 7px 12px;
    margin:3px;
    border-style:none;
    font-size:12px;

}

.button:hover {

    background-color:#336699;
    color:white;
    padding:7px 12px 7px 12px;
    margin:3px;
    border-style:none;
    font-size:12px;

}

Он выглядел так же, как и они! Если вы собираетесь на кнопку, которая открывает ссылку в новом окне, которое я был, это было почти идеально. В наборе ячеек таблицы он отображался чуть ниже обычных кнопок, поэтому я написал его так: "position: relative; top: -2px;" и это сделало трюк. Мне также пришлось форсировать белый цвет:

<asp:HyperLink ID="btnSummaryReport" Target="_blank" runat="server" Text="SUMMARY REPORT" CssClass="button" ForeColor="white" Font-Size="8" style="position:relative; top:-2px" />

Ответ 8

Добавление к @Devsainii ответа выше.

Добавьте атрибут OnClientClick="window.document.forms[0].target='_blank';" в свой LinkButton, а затем в код позади, просто используйте Response.Redirect("~/AnotherPage.aspx") для перехода на другую страницу.