Ответ 1
Просто создайте привязку с href, установленным на соответствующий url, и установите атрибут target
на _blank
, он откроет URL в новом окне.
<a href="urlOfThePage" target="_blank" >Click me</a>
возможно ли иметь 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>
Или мне нужно использовать другой формат кнопки?
Просто создайте привязку с href, установленным на соответствующий url, и установите атрибут target
на _blank
, он откроет URL в новом окне.
<a href="urlOfThePage" target="_blank" >Click me</a>
Вы можете использовать это с помощью кнопки "Ссылка"
Замените target="_blank"
на OnClientClick="window.document.forms[0].target='_blank';"
.
Ни один из текущих ответов не является правильным, даже тег <a>
не является правильным ответом в asp.net.
Используйте кнопку HyperLink. Есть даже свойство для целевого атрибута.
<asp:HyperLink runat="server"
NavigateUrl='http://rrs.com/aspx/Equipment/EquipmentType.aspx'
Target="_blank">
Create/Edit Part Types
</asp:HyperLink>
Вы можете использовать элемент управления Hyperlink, который имеет свойство target='_blank'
. Однако, если вы должны использовать элемент управления LinkButton, вы можете добавить атрибут OnClientClick
, который затем вызывает функцию JavaScript, чтобы открыть всплывающее окно
window.open();
Я работал с 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
, которая должна иметь новое окно, она открывается в новом окне, а когда что-либо еще нажата, она открывается в том же окне.
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" />
Посмотрев на эти ответы, и ни один из них не был тем, что я хотел (сделайте это с помощью кнопки), я закончил использование гиперссылки, но использовал тот же стиль 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" />
Добавление к @Devsainii ответа выше.
Добавьте атрибут OnClientClick="window.document.forms[0].target='_blank';"
в свой LinkButton, а затем в код позади, просто используйте Response.Redirect("~/AnotherPage.aspx")
для перехода на другую страницу.