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

Как сделать (ссылку) функцию кнопки как гиперссылку?

Как использовать asp:Button или asp:LinkButton как asp:Hyperlink?

Существующая гиперссылка просто переходит в другой раздел на той же странице: NavigateUrl="#Section2"

Я хочу сделать это в aspx файле без дополнительной кодировки. Спасибо.

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

4b9b3361

Ответ 1

Вы можете использовать событие OnClientClick для вызова функции JavaScript:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick='redirect()' />

Код JavaScript:

function redirect() {
  location.href = 'page.aspx';
}

Но я думаю, что лучше всего было бы создать гиперссылку с помощью css.

Пример:

.button {
  display: block;
  height: 25px;
  background: #f1f1f1;
  padding: 10px;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #e1e1e2;
  color: #000;
  font-weight: bold;
}

Ответ 2

Есть средний путь. Если вам нужен элемент управления HTML, но вам нужно получить доступ к его серверной стороне, вы можете просто добавить атрибут runat="server":

<a runat="server" Id="lnkBack">Back</a>

Затем вы можете изменить сервер href с помощью Attributes

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
       lnkBack.Attributes.Add("href", url);
    }
}

в результате:

<a id="ctl00_ctl00_mainContentPlaceHolder_contentPlaceHolder_lnkBack" 
      href="url.aspx">Back</a>

Ответ 3

Лучший способ добиться этого - просто добавить "href" к кнопке ссылки, как показано ниже.

<asp:LinkButton runat="server" id="SomeLinkButton" href="url" CssClass="btn btn-primary btn-sm">Button Text</asp:LinkButton>

Использование javascript или выполнение этого программно в page_load также будет работать, но это не лучший способ сделать это.

Вы получите этот результат:

<a id="MainContent_ctl00_SomeLinkButton" class="btn btn-primary btn-sm" href="url" href="javascript:__doPostBack(&#39;ctl00$MainContent$ctl00$lSomeLinkButton&#39;,&#39;&#39;)">Button Text</a>

Вы также можете получить те же результаты, используя регулярные <a href="" class=""></a>.

Ответ 4

Это можно сделать очень легко, используя PostBackUrl и обычную кнопку.

<asp:Button ID="Button1" runat="server" Text="Name of web location" PostBackUrl="web address" />