【发布时间】:2012-01-13 10:19:36
【问题描述】:
当 XML 节点列表中的一个标记丢失时,我在绑定 gridview 时遇到问题。我收到以下错误消息:
在所选数据源中找不到名为“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();
【问题讨论】:
-
发布 XML、数据绑定代码和 gridview 标记。没有它就不可能提供帮助。
-
@Glenn 再读一遍,xml节点列表中的一个标签丢失了,总之OP要处理异常
-
啊哈,抱歉我来得很快……
标签: c# gridview xmldatasource