Etkinlik tetikleyicisi ile çalışma zamanında yeni bir BağlantıButtonu oluşturma ve oluşturulan LinkButton için bir olay işleyicisi ekleme talimatlarını takip ettim. Yeni LinkButton'un neden eklenmiş olayı tetiklemediğine dair hiçbir fikrim yok. Lütfen beni yönlendirin/düzeltin.Dinamik olarak oluşturulan LinkButton, Onclick olayını tetiklemiyor VB.Net
Şu anda sahip olduğum şey budur.
ASPX:
<form id="myForm" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="mel-table" style="text-align: center" runat="server" id="mytab1">
<tbody>
<tr>
<td>Case Number :</td>
<td>
<asp:TextBox ID="caseNumber" runat="server"></asp:TextBox>
</td>
</tr>
</tbody>
</table>
<asp:Button OnClick="btnOK1_Click" ID="btnOK1" runat="server" Text="Save" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
aspx.vb:
Eğer geri gönderme onu tekrar yüklemek zorunda dinamik kontrolünü oluşturduğunuzdaProtected Overloads Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("tablecontent") IsNot Nothing Then
mytab1 = CType(Session("tablecontent"), HtmlTable)
End If
End Sub
Public Function checking() As Boolean
Dim caseNo As Double
Try
caseNo = Convert.ToDouble((caseNumber.Text).Trim())
Catch ex As Exception
caseNo = 0
End Try
Dim r As New HtmlTableRow
Dim c0 As New HtmlTableCell
r.Cells.Add(c0)
Dim but As New LinkButton
but.ID = caseNo
but.Text = caseNo.ToString()
AddHandler but.Click, AddressOf LinkButton1_Click
c0.Controls.Add(but)
mytab1.Rows.Add(r)
Session("tablecontent") = mytab1
Return True
End Function
Protected Sub LinkButton1_Click(sender As Object, e As EventArgs)
'My Code here
End Sub
Protected Sub btnOK1_Click(sender As Object, e As EventArgs)
If (checking()) Then
ScriptManager.RegisterStartupScript(Page, Page.GetType, "Alert", "<script type='text/javascript'>alert('Success');</script>", False)
End If
End Sub
Neden "Double" olarak atadığınızda, 'DimNo Long' yazın? Benim tahminim bir 'UpdatePanel' içinde olmakla ilgili. – OneFineDay
CaseNo türünü Double olarak değiştirmeyi denedim ve çalışmadı. –
Bu sorunu çözeceğini söylemedim. Sadece türün neden ayarladığınızdan farklı olduğunu merak ediyor musunuz? Olmanız gereken tür ise, bu bir 'Double' olmalıdır. – OneFineDay