2012-12-26 9 views
14

asp:Buttonまたはasp:LinkButtonasp:Hyperlinkとするにはどうすればよいですか?私は、追加のコーディングなしのaspxファイルでこれをやりたいNavigateUrl="#Section2"(リンク)ボタンの機能をハイパーリンクにする方法は?

既存のハイパーリンクは、ちょうど同じページ上の別のセクションに行きます。ありがとう。

この目的は、下線付きのテキストの代わりにボタンを表示することです。この目的を達成するために、ハイパーリンクの画像を使用したくありません。

+1

ハイパーリンクを直接使用しないでください。 – Aristos

+7

HTMLの基本に戻る(Aristosによってコメントされているように):なぜあなたはASP.Netコントロールをそのように考えていますか? ASP.Netには、常にコントロールを使用する必要があるというルールはありません。シンプルな[ハイパーリンク](http://www.w3schools.com/html/html_links.asp)が行います。あなたはあなたが望むようにそれを「スタイル」することができます... – EdSF

答えて

18

あなたはJavaScript関数を呼び出すためにイベントをOnClientClick使用することができます。

<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; 
} 
+0

クリック時にリダイレクトを動作させていないようです...それは一重引用符ですか? – aspiring

10

真ん中の方法があります。

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

あなたはその後、その結果Attributes

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

使用hrefサーバー側を変更することができます:あなたはHTMLコントロールをしたいが、あなたはそれをサーバ側にアクセスする必要がある場合は、単にrunat="server"属性を追加することができます

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

これを達成する最善の方法は、以下のようなリンクボタンに「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>を使用して使用して同じ結果を得ることができます。

関連する問題