0

我是 C# 的新手,所以请耐心等待 :)。

我在 asp.net 中创建了一个表单,并尝试使用RequiredFieldValidator 对其进行验证。我的问题是输入字段是使用 for 循环生成的。

我的问题是如何验证这些输入字段,是否有某种方法可以像在 java 中那样“传递对象”?

编辑:生成字段的表:

      <asp:Table id="newPatienttbl" 
      GridLines="Both" 
      HorizontalAlign="Center" 
      Font-Size="8pt" 
      CellPadding="5"
      CellSpacing="0"
      Runat="server"/>

我如何生成我的输入字段。

        TableRow row = null;
        TableCell cell = null;
        TextBox tb = null;
        foreach (DataColumn column in patientData.Columns)
        {
            row = new TableRow();
            cell = new TableCell();

            if (column.ColumnName.Equals("ZVID"))
                cell.Text = "Zorgverzekeraar";
            else
                cell.Text = column.ColumnName;

            row.Cells.Add(cell);

            cell = new TableCell();

            if (!column.ColumnName.Equals("ZVID"))
            {
                tb = new TextBox();
                cell.Controls.Add(tb);
            }
            else
            {
                DropDownList dd = new DropDownList();
                dd.ID = column.ColumnName;
                dd.DataSource = zorgData;
                dd.DataValueField = "ZVID";
                dd.DataTextField = "Naam";


                dd.DataBind();
                cell.Controls.Add(dd);
            }

            cell.ID = column.ColumnName+"Cell";
            row.Cells.Add(cell);

            newPatienttbl.Rows.Add(row);
        }
4

1 回答 1

0

您可以使用以下内容更改代码:

        string addedControlId;
        if (!column.ColumnName.Equals("ZVID"))
        {
            tb = new TextBox();
            tb.Id= column.ColumnName;
            cell.Controls.Add(tb);
            addedControlId = tb.Id;
        }
        else
        {
            DropDownList dd = new DropDownList();
            dd.ID = column.ColumnName;
            dd.DataSource = zorgData;
            dd.DataValueField = "ZVID";
            dd.DataTextField = "Naam";


            dd.DataBind();
            cell.Controls.Add(dd);
            addedControlId = dd.Id;
        }
        RequiredFieldValidator val = new RequiredFieldValidator{

            ControlToValidate = addedControlId,
            ErrorMessage = "Shame on you, you did not fill this value"

        }
        cell.Controls.Add(val);

但是,您的代码让我认为您应该移动数据绑定控件,例如DataTableor DataGrid。您将受益于模板化您的项目。

于 2012-10-11T09:51:57.503 回答