Ceci est mon avis de balisageNullReferenceExecption tout en ajoutant des contrôles sur DataBound d'un gridview
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" DataKeyNames="SemesterID" DataSourceID="SqlDataSource1" >
<Columns>
<asp:BoundField DataField="SemesterID" HeaderText="SemesterID" InsertVisible="False" ReadOnly="True" SortExpression="SemesterID" />
<asp:BoundField DataField="SemesterName" HeaderText="SemesterName" SortExpression="SemesterName" />
<asp:TemplateField>
<asp:PlaceHolder ID="pHldr" runat="server"></asp:PlaceHolder>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<asp:SqlDataSource ConnectionString="<%$ connectionStrings:MyConnection %>" ID="SqlDataSource1" runat="server" ProviderName="System.Data.SqlClient" SelectCommand="SELECT SemesterID, SemesterName FROM Semesters"></asp:SqlDataSource>
</form>
</body>
Ceci est mon code fichier behinde
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < 3; i++)
{
PlaceHolder plHldr = e.Row.FindControl("pHldr") as PlaceHolder;
CheckBox cbx = new CheckBox();
plHldr.Controls.Add(cbx);//Here I get the exception
}
}
Je voudrais ajouter des contrôles tels que des cases à cocher au PlaceHolder mais Je reçois NullReferenceException dans plHldr.Controls.Add(cbx);
Peut-être une erreur ici? 'e.Row.FindControl (" pHldr ")' pHldr-> plHldr – ibubi
Non ce n'est pas le cas –
Copie possible de [Qu'est-ce qu'une exception NullReferenceException, et comment la réparer?] (https://stackoverflow.com/ questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – ASpirin