如何使用asp:Button
或asp:LinkButton
作为asp:Hyperlink
?
现有的超链接只是去同一个页面上的其他部分: NavigateUrl="#Section2"
我想这样做的aspx文件而无需额外的编码。 谢谢。
目的是为了有一个按钮看,而不是带下划线的文本,但我不希望使用的图像与超链接来实现这一目的。
如何使用asp:Button
或asp:LinkButton
作为asp:Hyperlink
?
现有的超链接只是去同一个页面上的其他部分: NavigateUrl="#Section2"
我想这样做的aspx文件而无需额外的编码。 谢谢。
目的是为了有一个按钮看,而不是带下划线的文本,但我不希望使用的图像与超链接来实现这一目的。
您可以使用的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;
}
有一条中间道路。 如果你想有一个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>
要做到这一点,最好的办法是通过简单地添加的“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('ctl00$MainContent$ctl00$lSomeLinkButton','')">Button Text</a>
您还可以通过使用常规使用得到相同的结果<a href="" class=""></a>
。