2016-06-13 14 views
2

私は何が起こっているのかを理解しようとしており、私は無駄にウェブを検索しました。ASP.netのネストされたリピータ内のボタンにアクセスするには?

ネストされたリピータの内側にあるボタンにはどうすればアクセスできますか?私は研究/実験のために何時間も費やしてきましたが、何が起こっているのか分かりません。

HTMLマークアップ:

<asp:Repeater runat="server" ID="repQuestionTopics"> 
    .... 
    <asp:Repeater ID="repQA" runat="server"> 
     .... 
     <strong>Was this article helpful?</strong>&nbsp; 
     <button class="button tiny secondary radius" runat="server" 
       CommandName="voteYes" id="btnVoteHelpfulYes">Yes</button> 
     <button class="button tiny secondary radius" runat="server" 
       CommandName="voteNo" ID="btnVoteHelpfulNo">No</button> 
    </asp:Repeater> 
</asp:Repeater> 

コードビハインド:

//Handles repQuestionTopics.ItemCommand 
Public Sub repTopics_ItemCommand(Sender As Object, e As RepeaterCommandEventArgs) 
    If e.CommandName = "voteYes" Then 
     .... 
    End If 
End Sub 

どのように私はrepQAへのアクセスを得るのですか?何らかの理由で私のコードビハインドが関数を書くことができませんハンドルrepQA.ItemCommand - なぜですか?私は(クリック時の追加)のようなものを使用して、ASP側の直接入力機能をしようとしています

<button class="button tiny secondary radius" runat="server" OnClick="repTopics_ItemCommand" 
     CommandName="voteYes" id="btnVoteHelpfulYes">Yes</button> 

ボタンvoteYesをクリックすると、私はデータベースにアクセスして、カウンタを更新することができるようにしたいので、私は、その質問に対するその回答の投票数がどれくらいあるかを把握することができます。

ボタンをクリックしてページが更新され、それ以外は何もしないようにするために、何を変更しても問題はありません。

答えて

0

HTMLマークアップ:あなたは、あなたの内側のリピータrepAQOnItemCommandイベントを追加する必要があります。

<asp:Repeater ID="repQA" runat="server" OnItemCommand="repQA_ItemCommand"> 

コードビハインド:

VB.Net:

Public Sub repQA_ItemCommand(Sender As Object, e As RepeaterCommandEventArgs) 
    // check for right name of command 
    If e.CommandName = "voteYes" Then 
     .... 
    End If 
End Sub 

ASP.Net:

protected void repQA_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    // check for right name of command 
    if(e.CommandName == "voteYes") 
    { 
     .... 
    } 
} 
関連する問題