Reputation: 55
I have generated an array of required field validators using following code:
Panel[] divMain = new Panel[22];
DropDownList[] gender = new DropDownList[22];
TextBox[] txtFirstName = new TextBox[22];
TextBox[] txtMiddleName = new TextBox[22];
TextBox[] txtLastName = new TextBox[22];
TextBox[] txtAge = new TextBox[22];
RequiredFieldValidator[] req = new RequiredFieldValidator[30];
and i am creating some dynamic controls using following code:
for (int i = 0; i < noOfad - 1; i++)
{
HtmlGenericControl p = new HtmlGenericControl("p");
HtmlGenericControl strong = new HtmlGenericControl("strong");
strong.InnerText = "Adult" + Convert.ToString(i + 2);
p.Controls.Add(strong);
divAdultMoreForm.Controls.Add(p);
Panel div = new Panel();
HtmlGenericControl p1 = new HtmlGenericControl("p");
p1.InnerHtml = "<span><strong>Full Name (As per Valid Govt Id Proof valid )</strong></span> <span><strong style=' margin-left: 549px;'>Age(in Years 18 +) </strong></span>";
div.Controls.Add(p1);
HtmlGenericControl p2 = new HtmlGenericControl("p");
gender[i] = new DropDownList();
gender[i].Items.Add(new ListItem("Title", "0"));
gender[i].Items.Add(new ListItem("Mr.", "1"));
gender[i].Items.Add(new ListItem("Mrs.", "2"));
gender[i].Items.Add(new ListItem("Ms.", "3"));
gender[i].CssClass = "txt";
p2.Controls.Add(gender[i]);
txtFirstName[i] = new TextBox();
txtFirstName[i].Attributes.Add("placeholder", "First Name");
txtFirstName[i].CssClass = "txt input";
txtFirstName[i].ID = "txtFirstName" + Convert.ToString(i);
req[i].ControlToValidate = txtFirstName[i].ID;//Object refrence not set to an instance ofo an object
req[i].ForeColor = System.Drawing.Color.Red;
req[i].ErrorMessage = "*";
txtFirstName[i].CssClass = "input txt";
txtMiddleName[i] = new TextBox();
txtMiddleName[i].Attributes.Add("placeholder", "Middle Name");
txtMiddleName[i].CssClass = "txt input";
txtMiddleName[i].CssClass = "input txt";
txtMiddleName[i].ID = "txtMiddleName" + Convert.ToString(i);
txtLastName[i] = new TextBox();
txtLastName[i].Attributes.Add("placeholder", "Last Name");
txtLastName[i].CssClass = "txt input";
txtLastName[i].CssClass = "input txt";
txtLastName[i].ID = "txtLastName" + Convert.ToString(i);
txtAge[i] = new TextBox();
txtAge[i].Attributes.Add("placeholder", "Enter Age");
txtAge[i].CssClass = "txt";
p2.Controls.Add(txtFirstName[i]);
p2.Controls.Add(txtMiddleName[i]);
p2.Controls.Add(txtLastName[i]);
p2.Controls.Add(txtAge[i]);
div.Controls.Add(p2);
divAdultMoreForm.Controls.Add(div);
}
But when i am assigning the control to validate to the validator req[i] then there comes an error Object reference not set to an instance of an object. Can not understand why this problem is occuring. Any help to correct my code! Thanks
Upvotes: 0
Views: 1609
Reputation: 3204
This is due to the fact that you forgot to initialize the RequiredFieldValidator
array object. This seems to be missing from your code :
req[i] = new RequiredFieldValidator();
After this you can play with its properties.
Hope this clears it.
Upvotes: 1