2012-01-13 30 views
1

当XML节点列表中的某个标记丢失时,我在绑定gridview时遇到问题。我收到以下错误消息:C# - 在所选数据源中未找到名称为“SUMMARY”的字段或属性

在所选数据源上找不到名称为“SUMMARY”的字段或属性。

请人帮助我如何结合,这样我可以显示自定义的文本消息,例如在处理缺失值:“没有可用的综述”

我使用的.NET版本3.5和XML绑定在GridView数据。

ASPX代码:

  <asp:GridView ID="gvSystemX" runat="server" AutoGenerateColumns="False" AlternatingRowStyle-CssClass="even" 
     CellPadding="4" Font-Names="Tahoma" Font-Size="Small" ForeColor="#333333" GridLines="None" EmptyDataText="Mayur"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField HeaderText="TITLE" DataField="AZKTITLE" /> 
      <asp:BoundField HeaderText="DESCRIPTION" DataField="AZKSUMMARY" /> 
      <asp:BoundField HeaderText="SOURCE" DataField="AZKSOURCE" /> 
      <asp:BoundField HeaderText="DATABASE NAME" DataField="DREDBNAME" /> 
     </Columns> 
     <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" /> 
     <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> 
     <EditRowStyle BackColor="#7C6F57" /> 
     <AlternatingRowStyle CssClass="even"></AlternatingRowStyle> 
    </asp:GridView> 

代码背后:

在我收到的XML数据响应对象...

  XmlNamespaceManager nsMgr = new XmlNamespaceManager(response.NameTable); 
      nsMgr.AddNamespace("autn", "http://schemas.autonomy.com/aci/"); 

      nodeList = response.SelectNodes("autnresponse/responsedata/autn:hit/autn:content/DOCUMENT", nsMgr); 
      gvSystemX.DataSource = ConvertToDataTable(nodeList); 
      gvSystemX.DataBind(); 
+0

发布XML,数据绑定代码和gridview标记。没有这一点,就不可能提供帮助。 – Glenn 2012-01-13 10:22:23

+1

@Glenn再次阅读,* XML节点列表中的标记之一缺失*,总之OP想要处理异常 – V4Vendetta 2012-01-13 10:27:22

+0

啊哈,对不起我快到那里...... – Glenn 2012-01-13 10:31:57

回答

1

此错误是监守的DataTable's的DataRow当然没有列摘要(AZKSUMMARY)。这可以在你的ConvertToDataTable方法中解决。在那里我假设你正在创建所有现有节点的列。

即使不存在于xml文件中,也必须为每一行创建所有4列。如果不存在,您可以添加所需的值,例如“No Summary Available”。

更好的办法是实现一个具有4个属性的对象并将它们放入列表中。但如果你喜欢它,坚持数据表。

相关问题