[英]How to fire OnClick event of Link button inside nested repeater
我有3個嵌套的重復項,在第三個轉發器中有一個asp鏈接按鈕,我的問題是當我單擊按鈕時,它無法觸發其OnClick事件
HTML代碼
<asp:UpdatePanel ID="UpdatePanelGrid" runat="server">
<ContentTemplate>
<table id="tblMultGridView" runat="server" cellspacing="0" cellpadding="0" width="100%"
align="center" border="0">
<tr>
<td>
<table style="width: 100%">
<asp:Repeater runat="server" ID="rptFloors" EnableViewState="false">
<ItemTemplate>
<tr>
<td>
<%# DataBinder.Eval(Container.DataItem, "FloorNo")%>
</td>
<td>
</td>
</tr>
<asp:Repeater ID="rptApartment" runat="server" EnableViewState="false" DataSource='<%# GetChildRelation(Container.DataItem,"Floor_Apartment")%>'>
<ItemTemplate>
<tr>
<td>
<a href="javascript: void(0)" onclick="popup('../BackEnd/Apartmentdocsgallery.aspx?AptID=<%# DataBinder.Eval(Container.DataItem,"ApartmentID")%>')">
<img src="../images/roomview.png" border="0" /></a>
<%-- <a href="#dialog" name="modal" onclick="ShowApartmentDetail('Apartmentdocsgallery.aspx?AptID=<%# DataBinder.Eval(Container.DataItem, "ApartmentID") %>')">
<img src="../images/roomview.png" border="0" />
<img src="../images/roomview.png" border="0" /></a>--%>
<%#Eval("ApartmentNo") %>
<br />
</td>
<td>
<asp:Repeater ID="rptRooms" runat="server" EnableViewState="false" OnItemCommand="rptRooms_ItemCommand" OnItemDataBound="rptRoom_ItemDataBound"
DataSource='<%# GetChildRelation(Container.DataItem, "Apartment_Room")%>'>
<ItemTemplate>
<div class="greenbtn" id="divRoomBtn" runat="server" style="vertical-align: top;">
<asp:LinkButton ID="btnFloor2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "RoomNO") %>'
OnClick="btnFloor2_Click" CommandName="Info" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "RoomID") %>'></asp:LinkButton>
</div>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
功能背后的代碼
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim ds As DataSet = obj.GetData()
rptFloors.DataSource = ds
rptFloors.DataBind()
Catch ex As Exception
Throw ex
End Try
End Sub
Public Function GetChildRelation(ByVal dataItem As Object, ByVal relation As String) As DataView
Dim drv As DataRowView = dataItem
If drv IsNot Nothing Then
Return drv.CreateChildView(relation)
Else
Return Nothing
End If
End Function
Protected Sub btnFloor2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Redirect("OtherPage.aspx", False)
End Sub
Protected Sub rptRoom_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
Try
"ajax_showTooltip('ToolTip.aspx?type=Rm&RID=" + RoomID.ToString + "',this);return false")
Catch ex As Exception
lblMessage.Text = ex.Message.ToString
End Try
End Sub
我已經分享了我的代碼,請幫我解決如何觸發按鈕上的click事件
這樣嘗試
代替
OnClick="btnFloor2_Click"
至
onclick="btnFloor2_Click();"
您是否為在OnItemCommand =“ rptRooms_ItemCommand”中定義的事件處理程序編寫了代碼? 應該是這樣的
Protected Sub rptRooms_ItemCommand(Sender As Object, e As RepeaterCommandEventArgs)
If e.CommandName = "Info" Then
Dim RoomID As Object = e.CommandArgument
(do something with the argument)
End If
End Sub
您為其他活動發布的代碼
Try
"ajax_showTooltip('ToolTip.aspx?type=Rm&RID=" + RoomID.ToString + "',this);return false")
看起來壞了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.