太奇怪了,我用XML数据绑定GRIDVIEW的时候报错,代码如下:XmlDocument docData = new XmlDocument();
docData.Load("c:\\file.xml");XmlDataSource xmlSource = new XmlDataSource();
xmlSource.Data = docData.OuterXml;
GridView1.DataSource = xmlSource;
GridView1.DataBind();运行时错误:为不在页面控件树中的 XmlDataSource 启用缓存时,它需要一个在整个应用程序中唯一的 UniqueID。如果我不用xmlSource.Data = docData.OuterXml;
改用xmlSource.DataFile="c:\\file.xml";也不用报错;
或者我在界面上先托一个XmlDataSource1,然后:
XmlDataSource1.Data = docData.OuterXml;
GridView1.DataSource = XmlDataSource1;
GridView1.DataBind();
这样也不会报错,奇怪了,请高手指教……

解决方案 »

  1.   

    GridView操作Xml数据源(添加、删除、修改) 
      

  2.   


    DataSet dsRule = new DataSet();             
    dsRule.ReadXml(xmlPath);             
    DataTable dtRule = dsRule.Tables[shapeType];                         gvParameter.DataSource = dtRule;             
    gvParameter.DataBind(); 参考
      

  3.   


    按我的写法,为什么我动态创建的xmlDataSource不可以,而设计期托上去的xmlDataSource就可以呢?
      

  4.   

    PS:我的XML数据不是从文件里加载的,是在内存里生成的,所以不能从文件加载……
      

  5.   

    那就把你的XML数据转换为list 然后绑定。
      

  6.   

    我的xml数据如果要绑定到XmlDataSource中,怎么做?
      

  7.   

    那就把你的XML数据转换为list 然后绑定。
    请问你引用的那段代码里面的shapeType是什么东西了?