2012-12-26 15 views
14

asp:Button veya asp:LinkButton'u asp:Hyperlink olarak nasıl kullanırım?Düğme (bağlantı) düğmesi nasıl köprü işlevi görür?

mevcut Köprü sadece aynı sayfada başka bir bölüme gider: NavigateUrl="#Section2"

Ben ek kodlama olmadan aspx dosyasındaki bunu yapmak istiyor. Teşekkürler.

Amaç, altı çizili metin yerine bir düğme görünümüne sahip olmaktır. BUT Bu amaca ulaşmak için hiperlink ile kullanmak istemiyorum.

+1

Bunu neden yapmak ve doğrudan bir Köprü kullanmamak? – Aristos

+7

HTML temellerine dönün (Aristos tarafından yorumlandığı gibi): Neden ASP.Net denetimlerini böyle düşünürdünüz? ASP.Net'te, her zaman denetimleri kullanmanız gereken bir kural yoktur. Basit bir [köprü] (http://www.w3schools.com/html/html_links.asp) yapacak. İstediğiniz kadar stil yapabilirsin ... – EdSF

cevap

18

Sen bir JavaScript işlevi çağırmak için OnClientClick olayını kullanabilirsiniz:

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

JavaScript kodu:

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

Ama iyi css ile bir köprü stil olacağını düşünüyorum.

Örnek:

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

Tıklamada yönlendirme çalışmıyor gibi görünüyor mu? – aspiring

10

bir orta yol yoktur.

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

Sonra sonuçlanan Attributes

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

kullanılarak href sunucu tarafı değiştirebilir: bir HTML kontrol isteyen ama bunu sunucu tarafı erişmek gerekirse sadece runat="server" özelliğini ekleyebilirsiniz

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

Bunu gerçekleştirmenin en iyi yolu, aşağıdaki gibi bağlantı düğmesine "href" eklemesidir.

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

javascript kullanarak veya bu programlı page_load içinde, hem de çalışmak ama bunu hakkında gitmek için en iyi yol değildir olacaktır yapıyor.

Bu sonucu alırsınız:

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

Ayrıca düzenli <a href="" class=""></a> kullanarak kullanarak aynı sonuçları elde edebilirsiniz.