[英]how to create dynamic Required field Validator
我使用以下代碼生成了一組必需的字段驗證器:
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];
我正在使用以下代碼創建一些動態控件:
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);
}
但是,當我向驗證程序req [i]分配要驗證的控件時,就會出現錯誤,對象引用未設置為對象的實例。 無法理解為什么會出現此問題。 任何幫助糾正我的代碼! 謝謝
這是由於您忘記初始化RequiredFieldValidator
數組對象。 您的代碼似乎缺少了這一點:
req[i] = new RequiredFieldValidator();
之后,您可以使用其屬性。
希望這能清除它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.