2016-11-03 11 views
0

div内で正しく動作するために2つのボタンが必要です。my asp:2番目のボタンを追加すると、LinkBut​​tonはOnClickアクションを実行しません。

私は方法をbehingコードに単一のボタンのリダイレクトを設定した場合、それが正常に動作します:

<div class="divBtNavCommande"> 
    <asp:LinkButton ID="bt_1" runat="server" OnClick="myAction"> 
     My text 1 
    </asp:LinkButton>     
</div> 

私がリンクにリダイレクトする第二ボタンを追加した場合、リダイレクトは正常に動作しますが、最初のボタンはもはや実行行動の背後にあるコード:

<div class="divBtNavCommande"> 
    <asp:LinkButton ID="bt_1" runat="server" OnClick="myAction"> 
     My text 1 
    </asp:LinkButton> 

    <asp:LinkButton ID="bt_2" runat="server" PostBackUrl="~/MyPage.aspx"> 
     My text 2 
    </asp:LinkButton> 
</div> 

そして、私はPostBackUrl="~/myPage.aspx"一部を削除する場合は、最初のボタンが再び動作します。

どうしたのですか?

+1

2番目のリンクボタンに 'OnClick'メソッドを追加するのを忘れたのですか? – Hypnobrew

+1

2番目のボタンタグ '' – ElectricRouge

+0

に '>'がありません@ElectricRouge:私の質問でタイプミスでした。 –

答えて

0

YourPage.aspx:

<div class="divBtNavCommande"> 
<asp:LinkButton ID="bt_1" runat="server" OnClick="myAction"> 
    My text 1 
</asp:LinkButton> 

<asp:LinkButton ID="bt_2" runat="server" OnClick="bt_2_OnClick"> 
    My text 2 
</asp:LinkButton> 
</div> 

YourPage.aspx.cs:

protected void bt_2_OnClick(object sender, EventArgs e) 
{ 
    Response.Redirect("MyPage.aspx"); 
} 

あなたはそれが唯一のnagivation目的のためだったと言ったので。そうでない場合は、Server.Transer();ここで詳しい情報を使用してください:https://stackoverflow.com/a/6778952/169714

+0

それはうまくいく、これは私が心に持っていたものです。ありがとう。 2つのボタン(いずれか2つ)のうちの1つだけを追加しても、2つのボタンが存在する場合は両方のボタンが正しく動作するが、投稿したソリューションが機能しない理由を知っていますか? –

+0

おそらく、あなたの 'Page_Load'はコードをさらに表示します;)ここで述べたように、https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.postbackurl(v=vs.110)おそらくサーバー側の検証ですか?私はもっ​​と文脈が必要だと思います。 –

関連する問題