테스트 중이며 ItemCommand 이벤트가 발생하지 않는 VB.Net 응용 프로그램을 상속했습니다. VB.Net 4.0 응용 프로그램입니다.ItemCommand 이벤트가 DataList에 대해 실행되지 않음
웹에서이 오류를 검색했으며 응용 프로그램에서 코드를 확인했습니다.
이 이벤트는 page_load 이벤트 이후의 포스트 백에서 발생합니다. 그러나 ImageButton을 클릭하여 (Postback을 강제 실행하고 잘하면 ItemCommand 이벤트를 실행), Page.IsPostBack 속성은 여전히 FALSE로 설정되어 있으므로 ItemCommand 이벤트를 실행할 수 없게됩니다. 왜이 속성이 여전히 FALSE로 설정 될지 나는 모른다. 분명히, 나는 포스트 백이 발생하고 있다는 것을 페이지에 알리는 방법이 필요하다. runat = "server"태그가 있기 때문에 ImageButton이 처리해야합니다.
다음은 코드 스 니펫입니다. 누군가가 Item 명령을 실행하기 위해해야 할 일을 알려주십시오. 위에서 말한 것은 사실입니다. 페이지가로드 된 후 왜 속성이 여전히 FALSE로 설정 될지 ImageButton을 누르는 이유는 모르겠습니다.
C#에서lstProducts.ItemCommand += new DataListCommandEventHandler(lstProducts_ItemCommand);
, 나는 영문는 것을 종종 발견했습니다
HTML
<asp:DataList ID="lstReferrals" runat="server" DataKeyField="ReferringAffiliateID"
OnItemCommand="lstReferrals_ItemCommand" CellPadding="4" Summary="Referral Design Table"
Width="800"><ItemTemplate>
<tr class="small" bgcolor="#FFFFFF">
<td>
<asp:ImageButton ID="btnSelect" AlternateText="Select" ImageUrl='<%# NodeImage(1) %>'
CommandName="select" runat="server" />CODE BEHINDPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not (Request.Params("ItemIndex") Is Nothing) Then
itemIndex = Int32.Parse(Request.Params("ItemIndex"))
Else
itemIndex = Convert.ToInt32(Null.SetNull(itemIndex))
End If
If Not Page.IsPostBack Then
LoadReferrals()
If Not Null.IsNull(itemIndex) Then
lstReferrals.SelectedIndex = itemIndex
LoadReferrals()
End If
End If
End Sub
Protected Sub lstReferrals_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles lstReferrals.ItemCommand
Try
errormessage.Visible = False
' Determine the command of the button (either "select" or "collapse")
Dim command As String = CType(e.CommandSource, ImageButton).CommandName
' Update asp:datalist selection index depending upon the type of command
' and then rebind the asp:datalist with content
Select Case command
Case "collapse"
lstReferrals.SelectedIndex = -1
LoadReferrals()
Case "select"
lstReferrals.SelectedIndex = e.Item.ItemIndex
LoadReferrals()