C# asp.net gridview自定义数据源

C# asp.net gridview自定义数据源,c#,.net,asp.net,C#,.net,Asp.net,我有一个从存储在数据库中的xml中提取数据的应用程序。在Page_Load事件中,我让代码从数据库中提取xml,解析xml并将所需数据保存在字符串列表中。然后我使用这个代码: dataGrid.DataSource = from field in stringList select field; dataGrid.DataBind(); 它会打印出清单,但我需要对它有更多的控制。GUI中的GridView属性实际上并不反映Page_Load事件的任何内容(对此我并不感到惊讶),但我需要能够生成

我有一个从存储在数据库中的xml中提取数据的应用程序。在Page_Load事件中,我让代码从数据库中提取xml,解析xml并将所需数据保存在字符串列表中。然后我使用这个代码:

dataGrid.DataSource = from field in stringList select field;
dataGrid.DataBind();

它会打印出清单,但我需要对它有更多的控制。GUI中的GridView属性实际上并不反映Page_Load事件的任何内容(对此我并不感到惊讶),但我需要能够生成包含数据的超链接,并且使用HTMLTextWriter不起作用,因为GridView只是自动转义了所有HTML。我不是一个真正的.Net程序员,也不熟悉它的工作原理。我是否应该将自定义代码放在页面加载事件之外的某个地方?

您是否考虑过使用将网格绑定到数据

您应该能够使用如下方式将XML数据加载到数据源中:

XmlDocument doc = xmlDataSource.GetXmlDocument();
doc.LoadXml(xmlFromTheDatabase);


您可以使用一个模板字段,在项目模板中,您将有一个asp:hyperlink控件。然后,您可以在asp:hyperlink)NavigateURL属性中使用a来绑定

能否详细介绍字符串格式?XmlDataSource似乎用于xml文件…我的xml来自数据库列,在使用它之前无法将xml保存到文件中,出于安全考虑。@Paul:有关如何在不将XML写入文件的情况下将其加载到数据源,请参阅我的更新答案。