Как добавить специальные символы в XML документ, используя C#? - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь построить вид сетки динамически на основе имени таблицы. Итак, я получаю столбцы, длину, тип данных, а также первичные и внешние ключи. Затем я определяю использование разработанного пользовательского интерфейса типа TemplateField на основе предоставленных столбцов.

Я использую два XML документа. один из них имеет формальный TemplateField со многими типами элементов управления, такими как TemplateField с текстовым полем, с раскрывающимся списком, ..et c. другой документ XML предназначен для построения самого вида сетки.

Я успешно перевел то, что мне нужно, из одного XML в другое. однако, некоторый мир не может быть в состоянии передать -> особенно части привязки данных, например, вот так (флажок = '<% # Bind ("IsRegistered")%>')

Все, что мне нужно, это знать, как включить что-то вроде этого '<% # Bind ("IsRegistered")%>' внутри XML документа

My C# код (и никаких проблем с ним, но знать, как внедрить теги привязки данных в XML do c)

    XmlDocument Formal_TemplateField = new XmlDocument();
    XmlDocument BuildMyGridView = new XmlDocument(); 
    bool first_Use = false;
    private void Build_XML(string TemplateField, string Field_Name)
    {
        Formal_TemplateField.Load(Server.MapPath("~/Formal_TemplateField.xml"));
        BuildMyGridView.Load(Server.MapPath("~/BuildMyGridView.xml"));
        if (first_Use == false) // clean all xml old data
        {
            XmlNode root = BuildMyGridView.DocumentElement.GetElementsByTagName("Columns")[0];
            root.RemoveAll();
            first_Use = true;
        }

        XmlNode NEW_NOOD = BuildMyGridView.ImportNode(Formal_TemplateField.DocumentElement[TemplateField].FirstChild, true);
        if (Field_Name != null)
        {
            NEW_NOOD.Attributes["HeaderText"].Value = "Header_" + Field_Name;
            NEW_NOOD.Attributes["SortExpression"].Value = Field_Name;
            NEW_NOOD["EditItemTemplate"].FirstChild.Attributes["Text"].Value = "&lt;%# Bind(&apos;" + Field_Name + "&apos;)%&gt;";   // '<%# Bind("DateOfBirth")%>' 
            NEW_NOOD["HeaderTemplate"].FirstChild.Attributes["Text"].Value = Field_Name;
            NEW_NOOD["ItemTemplate"].FirstChild.Attributes["Text"].Value = "&lt;%# Bind(&apos;" + Field_Name + "&apos;)%&gt;";
        }
        BuildMyGridView.DocumentElement.GetElementsByTagName("Columns")[0].AppendChild(NEW_NOOD);

        BuildMyGridView.Save(Server.MapPath("~/BuildMyGridView.xml"));
    }

Вот сокращенное представление XmlDocument Formal_TemplateField

 <Formal_TemplateField>
      <TextBox_Dates>
         <asp:TemplateField>
              bla bla bla
         </asp:TemplateField>
      </TextBox_Dates>

      <CheckBox>
        <asp:TemplateField>
              bla bla bla
        </asp:TemplateField>
      </CheckBox>

      <DropDownList>
        <asp:TemplateField>
          <EditItemTemplate>
              bla bla bla
          </EditItemTemplate>
          <HeaderTemplate>
               bla bla bla
          </HeaderTemplate>
          <ItemTemplate>
            <asp:Label ID="Label4" runat="server" Text=''></asp:Label>  <-- look at this for example
          </ItemTemplate>
        </asp:TemplateField>
      </DropDownList>

Проще говоря, я хотел бы преобразовать, например, раздел DropDownList в следующий пример с привязкой данных

      <DropDownList>
        <asp:TemplateField HeaderText="Gender_ID" SortExpression="Gender_ID">
          <EditItemTemplate>
             bla bla bla
          </EditItemTemplate>
          <HeaderTemplate>
             bla bla bla
          </HeaderTemplate>
          <ItemTemplate>
            <asp:Label ID="Label4" runat="server" Text='<%# Bind("Gender_ID") %>'></asp:Label>
          </ItemTemplate>
        </asp:TemplateField>
      </DropDownList>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...