-->

如何使(链接)按钮的功能为超链接?(How to make (link)button functio

2019-07-17 14:22发布

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

现有的超链接只是去同一个页面上的其他部分: NavigateUrl="#Section2"

我想这样做的aspx文件而无需额外的编码。 谢谢。

目的是为了有一个按钮看,而不是带下划线的文本,但我不希望使用的图像与超链接来实现这一目的。

Answer 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;
}


Answer 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>


Answer 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>



文章来源: How to make (link)button function as hyperlink?