如何使(链接)按钮功能作为超链接?

use*_*554 16 asp.net button linkbutton hyperlink

我如何使用asp:Buttonasp:LinkButton作为asp:Hyperlink

现有的Hyperlink只是转到同一页面上的另一个部分: NavigateUrl="#Section2"

我想在aspx文件中执行此操作而无需额外编码.谢谢.

目的是使用按钮外观而不是带下划线的文本但是我不想使用带有超链接的图像来实现此目的.

Nil*_*ers 22

您可以使用OnClientClick事件来调用JavaScript函数:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick='redirect()' />
Run Code Online (Sandbox Code Playgroud)

JavaScript代码:

function redirect() {
  location.href = 'page.aspx';
}
Run Code Online (Sandbox Code Playgroud)

但我认为最好的方法是使用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;
}
Run Code Online (Sandbox Code Playgroud)


Lia*_*iam 13

有一个中途.如果你想要一个HTML控件但你需要访问它的服务器端,你可以简单地添加runat="server"属性:

<a runat="server" Id="lnkBack">Back</a>
Run Code Online (Sandbox Code Playgroud)

然后,您可以href使用更改服务器端Attributes

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

导致:

<a id="ctl00_ctl00_mainContentPlaceHolder_contentPlaceHolder_lnkBack" 
      href="url.aspx">Back</a>
Run Code Online (Sandbox Code Playgroud)


mac*_*x0r 6

实现此目的的最佳方法是,只需将“ href”添加到链接按钮,如下所示。

<asp:LinkButton runat="server" id="SomeLinkButton" href="url" CssClass="btn btn-primary btn-sm">Button Text</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)

使用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>
Run Code Online (Sandbox Code Playgroud)

您还可以通过使用Regular来获得相同的结果 <a href="" class=""></a>