Hi Nethras,
Check this example. Now please take its reference and correct your code.
HTML
<form id="form1" runat="server">
    <div>
        <asp:Label ID="lblDynamic" runat="server" />
    </div>
</form>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $('body').on('click', 'input[type=checkbox]', function () {
        alert("Checked CheckBox id is : " + $(this).attr('id'));
    });
</script>
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
    System.Text.StringBuilder html = new System.Text.StringBuilder();
    html.Append("<input type='checkbox' class='custom-control-input' runat='server' id='check1'>");
    lblDynamic.Text = html.ToString();
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    Dim html As System.Text.StringBuilder = New System.Text.StringBuilder()
    html.Append("<input type='checkbox' class='custom-control-input' runat='server' id='check1'>")
    lblDynamic.Text = html.ToString()
End Sub