: 리피터 버튼이 내 메소드 대신 page_load에 게시됩니까? 나는 다음과 중계기가 aspx 페이지에서
<asp:Repeater runat="server" ID="r" OnItemCommand="paper_ItemCommand">
<ItemTemplate>
<div style="padding-bottom:20px">
<asp:HiddenField runat="server" ID="questionID" Value='<%# Eval("ID") %>'/>
<asp:Label runat="server" ID="questionNumber" Text='<%# Eval("Number") %>'/><br />
<asp:Label runat="server" ID="question1" Text='<%# Eval("Question1") %>' /><br />
[ <asp:Label runat="server" ID="questionMark" Text='<%# Eval("Mark") %>'/> ]<br />
<asp:Button ID="View_Conversations" runat="server" Text="View Conversations" CommandName="ViewConversationsCommand" />
</div>
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:Repeater>
그리고 파일 뒤에 코드에서
나는 다음과 같은 방법이 있습니다protected void Page_Load(object sender, EventArgs e)
{
var paperID = Session["paperID"].ToString();
QuestionPaper = repository.GetPaper(Int32.Parse(paperID));
r.DataSource = QuestionPaper.Questions;
r.DataBind();
}
protected void paper_ItemCommand(object sender, RepeaterCommandEventArgs e)
{
switch (e.CommandName)
{
case "ViewConversationsCommand":
var hidden = e.Item.FindControl("questionID") as HiddenField;
var myquestionID = hidden.Value;
break;
}
}
나는 회화보기 단추를 클릭 할 때 내가 가진 문제를 리피터에서 코드는 내 paper_ItemCommand 메서드 대신 page_load 메서드를 히트합니다. 나는 여기서 무엇이 잘못 되었는가?