Свойство кнопки ссылки для открытия в новой вкладке?
В моем приложении у меня есть некоторые кнопки ссылок, но когда я нажимаю на них, я не могу (они находятся в отключенном режиме) найти пункты меню Open in new tab
или Open in new window
.
Как показать эти пункты меню?
Пример кода:
<asp:LinkButton id="lbnkVidTtile1" runat="Server" CssClass="bodytext" Text='<%#Eval("newvideotitle") %>' />
Ответы
Ответ 1
Из docs:
Используйте элемент управления LinkButton для создания кнопки стиля гиперссылки на веб-странице. Элемент управления LinkButton имеет тот же вид, что и элемент управления HyperLink, но имеет те же функции, что и элемент управления Button. Если вы хотите установить ссылку на другую веб-страницу при щелчке элемента управления, рассмотрите возможность использования элемента управления HyperLink.
Поскольку на самом деле эта ссылка не выполняется в стандартном смысле, в элементе управления нет элемента Target
(элемент управления HyperLink
имеет Target
) - он пытается выполнить PostBack на сервере с текстовую ссылку.
В зависимости от того, что вы пытаетесь сделать, вы можете:
- Используйте элемент управления
HyperLink
и установите свойство Target
- Предоставьте метод свойства
OnClientClick
, который откроет новое окно в нужное место.
- В вашем коде, который обрабатывает PostBack, добавьте JavaScript для запуска на странице Load, который откроет новое окно в правильном месте.
Ответ 2
попробуйте добавить следующее событие onClientClick.
OnClientClick = "aspnetForm.target = '_ blank';"
поэтому щелкнуть по нему будет вызываться функция Javascript, и откроется соответствующая ссылка на вкладке Новости.
<asp:LinkButton id="lbnkVidTtile1" OnClientClick="aspnetForm.target ='_blank';" runat="Server" CssClass="bodytext" Text='<%# Eval("newvideotitle") %>' />
Ответ 3
Вот твой тег.
<asp:LinkButton ID="LinkButton1" runat="server">Open Test Page</asp:LinkButton>
Вот ваш код в коде.
LinkButton1.Attributes.Add("href","../Test.aspx")
LinkButton1.Attributes.Add("target","_blank")
Надеюсь, что это будет полезно для кого-то.
Edit
Чтобы сделать то же самое со ссылкой в поле шаблона, используйте следующий код.
Используйте событие GridView_RowDataBound, чтобы найти кнопку "Ссылка".
Dim LB as LinkButton = e.Row.FindControl("LinkButton1")
LB.Attributes.Add("href","../Test.aspx")
LB.Attributes.Add("target","_blank")
Ответ 4
Это не идеально, но он работает.
<asp:LinkButton id="lbnkVidTtile1" runat="Server"
CssClass="bodytext" Text='<%# Eval("newvideotitle") %>'
OnClientClick="return PostToNewWindow();" />
<script type="text/javascript">
function PostToNewWindow()
{
originalTarget = document.forms[0].target;
document.forms[0].target='_blank';
window.setTimeout("document.forms[0].target=originalTarget;",300);
return true;
}
</script>
Ответ 5
- LinkButton выполняет HTTP POST-операцию, вы не можете изменить пост здесь.
- Не все браузеры поддерживают отправку формы в новое целевое окно.
- Чтобы отправить сообщение, вы должны изменить цель своей "ФОРМЫ".
- Вы можете использовать обходное решение javascript для изменения своей цели POST, изменив атрибут целевой формы, но браузер даст предупреждение пользователю (IE Does), что эта страница пытается отправить данные в новое окно, вы хотите продолжить и т.д.
Попробуйте найти идентификатор вашего элемента формы в сгенерированном aspx, и вы можете изменить цель, как...
getElementByID('theForm').target = '_blank' or 'myNewWindow'
Ответ 6
Если свойство LinkButton Enabled является ложным, оно просто отображает стандартную гиперссылку. Когда вы щелкните правой кнопкой мыши любую отключенную гиперссылку, вы не сможете открыть что-либо.
попробовать
lbnkVidTtile1.Enabled = true;
Простите, если я неправильно понял. Могу ли я просто убедиться, что вы понимаете цель LinkButton? Это должно дать появление HyperLink, но поведение кнопки. Это означает, что у него будет привязанный тег, но есть JavaScript, который выполняет PostBack на странице. Если вы хотите установить ссылку на другую страницу, рекомендуется здесь
что вы используете стандартный элемент управления HyperLink.
Ответ 7
Он выдает ошибку.
Ошибка выполнения Microsoft JScript: "aspnetForm" - undefined
Ответ 8
<asp:LinkButton ID="LinkButton1" runat="server" target="_blank">LinkButton</asp:LinkButton>
Использовать target = "_ blank", потому что он создает привязку привязки. для кода выше генерируется следующий HTML
<a id="ctl00_ContentPlaceHolder1_LinkButton1" target="_blank" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$LinkButton1','')">LinkButton</a>