c# - 如何使用 C# 在 XML 文档中添加特殊符号?
问题描述
我正在尝试根据表名动态构建网格视图。所以,我得到了列、长度、数据类型以及主键和外键。然后我根据提供的列确定使用开发的 UI 类型的 TemplateField。
我使用两个 XML 文档。其中之一具有正式的 TemplateField,具有多种类型的控件,例如带有文本框的 TemplateField,带有下拉列表,..等。另一个 XML 文档是构建网格视图本身。
我成功地将我需要的内容从一个 XML 转移到另一个。但是,有些和平不能传输-->尤其是数据绑定的部分,例如像这样 (checked='<%# Bind("IsRegistered") %>')
我只需要知道如何在 XML 文档中包含类似'<%# Bind("IsRegistered") %>' 的内容
我的 C# 代码(没问题,但要知道如何在 XML 文档中注入数据绑定标签)
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 = "<%# Bind('" + Field_Name + "')%>"; // '<%# Bind("DateOfBirth")%>'
NEW_NOOD["HeaderTemplate"].FirstChild.Attributes["Text"].Value = Field_Name;
NEW_NOOD["ItemTemplate"].FirstChild.Attributes["Text"].Value = "<%# Bind('" + Field_Name + "')%>";
}
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>
解决方案
推荐阅读
- javascript - 如何将页面部分锚定到滚动显示的导航栏底部?
- python - 尝试使用 xpath 查找元素时收到错误消息“没有这样的元素:无法找到元素”
- r - TramineR 中的集群命名和标签
- scheduled-tasks - 重新运行成功的 oozie 作业
- javascript - Node.js 模块是单例吗?
- getstream-io - GetStream 中的唯一记录是什么意思?
- python - 文本中单词的频率(熊猫)
- c# - 在 c# 中创建 SOAP 请求时密码的 Sha1 加密
- laravel - Eloquent 查询每个 id 的所有最新记录
- cython - @cython.locals(arr=np.ndarray[np.int_t, ndim=1]) 不支持?