Как ссылаться на столбец в списке из нескольких столбцов <> и использовать значение столбца в FindControl - PullRequest
1 голос
/ 31 марта 2019

FindControl генерирует исключение нулевой ссылки. Я должен сослаться на столбец списка, который содержит идентификаторы элементов управления для сопоставления на странице, но мой запрос не работает с использованием FindControl с именем столбца / поля, которое содержит Наименование контроля. Я попытался создать структуру, но все еще выдает исключение. Я, что я пытаюсь сделать возможным и как. Может кто-нибудь помочь?

Я пробовал много вариантов FindControl, но он работает только с прямым ссылку на div id (FirstName) смотрите в моем коде. Я закомментировал каждую вещь но FindControl, который в этот момент выдает исключение

<div class="form-group" visible="false" id="FirstName" runat="server">
                  <div class="col-xs-12 col-md-8 col-sm-10 nill">
                    <asp:Label ID="lblFirstName" runat="server" AssociatedControlID="txtFirstName" Text="First name *" CssClass="control-label" />
                      <br />
                    <asp:TextBox ID="txtFirstName" runat="server" CssClass="form-control" MaxLength="50" aria-label="First name" required="required" AutoPostBack="true"></asp:TextBox>
                    <span class="required"></span>
                  </div>
                </div>
                     <br />
                </td>
            <td>
//////////////////////////////////////
struct providerList {
                    public int fieldId;
                   public string fieldRequired;
                   public string aspName;
                   public string aspType;
                           }
private void loadform(List<ProviderInRequest> providerList)
        {

            for (int i = 0; i < providerList.Count; i++)


            {


                Control ctrl = FindControl(aspName);  // does not work here I am trying to use column aspName value throws null reference exception  


            }
            //TextBox txt = (TextBox)Page.FindControl(aspName);

            // Target Div tag for plan
            /*  Control ctrl = Page.FindControl("div" + aspName);

              // set visible to true if we found it.
              if(ctrl != null)
              {
                  //set div to visible
                  ctrl.Visible = true;

                  // set label to proper text
                  Label lbl = (Label)Page.FindControl("lbl" + aspName);
                  lbl.Text = displayName;

                  // set required for each input.
                  switch (aspType)
                  {
                      case "txt":
                          TextBox txt = (TextBox)Page.FindControl("txt" + aspName);
                          if(fieldRequired){
                              txt.Attributes.Add("required","required");
                          }
                          else{
                              txt.Attributes.Remove("required");
                          }
                          break;

                          case "ddl":
                          DropDownList ddl = (DropDownList)Page.FindControl("ddl" + aspName);
                          if(fieldRequired){
                              ddl.Attributes.Add("required","required");
                          }
                          else{
                              ddl.Attributes.Remove("required");
                          }
                          break;

*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...