Хорошо, поэтому я полностью потерялся от того, как это сделать. Что мне нужно сделать, это проверить текстовое поле с регулярным выражением для некоторого и обязательного поля для всех них. Я настроил его так, когда пользователь нажимает кнопку, каждый раз появляется новый набор полей ввода, так что, если у них есть более одного опыта работы, они могут бесконечно переносить его. Код, который я пытался, не будет работать. Также может потребоваться отметить, что я до сих пор сделал только один адрес из-за столкновения с этой проблемой. Как только я это выясню, я смогу сделать все остальное.Проверка на динамическом texbox и ярлыках
Код ASP.net - это просто кнопка.
C# Код:
protected void Page_Load(object sender, EventArgs e)
{
// Add any controls that have been previously added dynamically
for (int i = 0; i < TotalNumberAdded; ++i)
{
addcontrolsemployment(i + 1);
}
}
private void addcontrolsemployment(int controlNumber)
{
var newPanel = new Panel();
var employerLabel = new Label();
var addressLabel = new Label();
var phoneLabel = new Label();
var fromDateLabel = new Label();
var toDateLabel = new Label();
var supervisorLabel = new Label();
var jobTitleLabel = new Label();
var dutiesLabel = new Label();
var hoursLabel = new Label();
var wageLabel = new Label();
var leavingLabel = new Label();
var employerTextbox = new TextBox();
var addressTextbox = new TextBox();
var phoneTextbox = new TextBox();
var fromDateTextbox = new TextBox();
var toDateTextbox = new TextBox();
var supervisorTextbox = new TextBox();
var jobTitleTextbox = new TextBox();
var dutiesTextbox = new TextBox();
var hoursTextbox = new TextBox();
var wageTextbox = new TextBox();
var leavingTextbox = new TextBox();
// textbox needs a unique id to maintain state information
employerTextbox.ID = "EmployerTextBox_" + controlNumber;
addressTextbox.ID = "AddressTextbox_" + controlNumber;
phoneTextbox.ID = "phoneTextbox_" + controlNumber;
fromDateTextbox.ID = "fromDateTextbox_" + controlNumber;
toDateTextbox.ID = "toDateTextbox_" + controlNumber;
supervisorTextbox.ID = "supervisorTextbox_" + controlNumber;
jobTitleTextbox.ID = "jobTitleTexbox_" + controlNumber;
dutiesTextbox.ID = "dutiesTextbox_" + controlNumber;
dutiesTextbox.Width = 250;
hoursTextbox.ID = "hoursTexbox_" + controlNumber;
wageTextbox.ID = "wageTexbox_" + controlNumber;
leavingTextbox.ID = "leavingTexbox_" + controlNumber;
leavingTextbox.Width = 250;
//Label text
employerLabel.Text = "Employer: ";
addressLabel.Text = "Address: ";
phoneLabel.Text = "Phone #: ";
toDateLabel.Text = "To Date: ";
fromDateLabel.Text = "From Date: ";
supervisorLabel.Text = "Supervisor: ";
jobTitleLabel.Text = "Job Title: ";
dutiesLabel.Text = "Major Duties: ";
hoursLabel.Text = "Hours Per Week:";
wageLabel.Text = "Final Wage: $";
leavingLabel.Text = "Reason for Leaving: ";
//Regular Expression and Required field validators
var addressRegEx = new RegularExpressionValidator();
var addressRequired = new RequiredFieldValidator();
addressRequired.Text = "Address is Required";
addressRequired.ErrorMessage = " Please Enter less than 50 characters for address";
addressRequired.ID = "addressRequired" + controlNumber; addressRequired.ControlToValidate = addressTextbox.Text;
addressRegEx.ValidationExpression = ".{0,50}";
addressRegEx.ControlToValidate = addressTextbox.Text;
// add the label and textbox to the panel, then add the panel to the form
newPanel.Controls.Add(new LiteralControl("<table><tr>"));
newPanel.Controls.Add(new LiteralControl("<br />"));
newPanel.Controls.Add(new LiteralControl("<td class='title-text' >"));
newPanel.Controls.Add(employerLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'width='180px'>"));
newPanel.Controls.Add(employerTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text' >"));
newPanel.Controls.Add(addressLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(addressTextbox); newPanel.Controls.Add(addressRegEx); newPanel.Controls.Add(addressRequired);
newPanel.Controls.Add(new LiteralControl("</td>"));
newPanel.Controls.Add(new LiteralControl("<td class='title-text'>"));
newPanel.Controls.Add(phoneLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(phoneTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
newPanel.Controls.Add(fromDateLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(fromDateTextbox);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(toDateLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(toDateTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
newPanel.Controls.Add(supervisorLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(supervisorTextbox);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(jobTitleLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(jobTitleTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
newPanel.Controls.Add(dutiesLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text' colspan='2'>"));
newPanel.Controls.Add(dutiesTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
newPanel.Controls.Add(hoursLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(hoursTextbox);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(wageLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text'>"));
newPanel.Controls.Add(wageTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr><tr><td class='title-text'>"));
newPanel.Controls.Add(leavingLabel);
newPanel.Controls.Add(new LiteralControl("</td><td class='title-text' colspan='2'>"));
newPanel.Controls.Add(leavingTextbox);
newPanel.Controls.Add(new LiteralControl("</td></tr></table>"));
form1.Controls.Add(newPanel);
}
protected int TotalNumberAdded
{
get { return (int)(ViewState["TotalNumberAdded"] ?? 0); }
set { ViewState["TotalNumberAdded"] = value; }
}
protected void Button1_Click(object sender, EventArgs e)
{
// Increase the number added and add the new label and textbox
TotalNumberAdded++;
addcontrolsemployment(TotalNumberAdded);
}
Обновление: Один главный вопрос я имею я хочу, чтобы проверить на кнопку мыши перед следующей формы показан. Но я не могу передать объекты, я могу быть немым, но я не уверен, как это сделать. Как если бы у меня были объекты на странице ASP.net, это не проблема, но поскольку я создаю их в коде C#, я не уверен, как это сделать.
Используйте тот же класс css для всех текстовых полей, которые вы хотите проверить. Теперь поместите код проверки jQuery для этого класса css. –
что? никогда не делал jQuery – user1574685
проверить это: http://stackoverflow.com/questions/1854556/check-if-inputs-are-empty-using-jquery и http://api.jquery.com/class-selector/ –