Свойство кнопки ссылки для открытия в новой вкладке?

В моем приложении у меня есть некоторые кнопки ссылок, но когда я нажимаю на них, я не могу (они находятся в отключенном режиме) найти пункты меню 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>