PolicyPersonID or PolicyMemberID will be a parameter in GetInsuranceCompanyName(). But PolicyPersonID or PolicyMemberID depends on the list of object bound to the grid view. If it's a list of policy members, PolicyMemberID will be there and PolicyPersonID won't be there, and vice versa.
I've tried an if statement but since it's either PolicyPersonID or PolicyMemberID, the if statement doesn't really work.
<div class="row">
<div class="col-md-12">
<asp:GridView ID="gvCustomerView" runat="server" AllowPaging="True" AllowSorting="true" AutoGenerateColumns="False" CssClass="table table-striped table-bordered table-hover"
OnPageIndexChanging="gvCustomerView_PageIndexChanging" PageSize="10">
<Columns>
<asp:TemplateField HeaderText="Customer Name">
<ItemTemplate>
<asp:Label ID="lblCustomerName" runat="server" Text='<%# GetCustomerName(Eval("InvoiceMasterID")) %>' ForeColor="Black"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="MembershipNo" HeaderText="Membership Number" />
<asp:TemplateField HeaderText="Insurance Company">
<ItemTemplate>
<asp:Label ID="lblInsuranceCompany" runat="server" Text='<%# try { GetInsuranceCompany(Eval("PolicyPersonID")); } catch (Exception) { GetInsuranceCompany(Eval("PolicyMemberID")); } %>' ForeColor="Black"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="PolicyNumber" HeaderText="Policy Number" />
<asp:TemplateField HeaderText="Currency Type And Rate">
<ItemTemplate>
<asp:Label ID="lblCurrencyTypeAndRate" runat="server" Text='<%# GetCurrencyTypeAndRate(Eval("InvoiceMasterID")) %>' ForeColor="Black"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
If someone can explain what does the error mean with this:
Text='<%# try { GetInsuranceCompany(Eval("PolicyPersonID")); } catch (Exception) { GetInsuranceCompany(Eval("PolicyMemberID")); } %>'