2017-09-01 2 views
1

これは初めてのasp.netを使用していますので、私の謝罪をお待ちしております。私のasp.netデータグリッドはxmlファイルから読み取られません

私は私たちの仕事の共有ポイントで動作するWebアプリケーションを作ろうとしています。アイデアは、人々が電話するかどうかを選択できるチームと、その日のコンタクトポイントである場合、異なるフロアの人々が視線なしで利用可能であることを見ることができるようにすることです。

私は通常、基本的なPHPスクリプトを作成しますが、sharepointはphpのようなものではなく、ネットワーク上の外部リソースを参照することはできません。

問題は、xmlからデータを取得する必要があるテーブルが空白のページであることです...オリジナルでは、データフィールドを見つけることができなかったというエラーが表示され、さらにxpathを使用する必要があることがわかりました特定の...それは今、フィールドを見つけるようなエラーを出さないが、それを描画しません。以下のコードは次のとおりです。

XML database: 
<?xml version="1.0" encoding="utf-8" ?> 
<CRM> 
    <agent> 
    <id>user1</id> 
    <name>name</name> 
    <turret>extension</turret> 
    <email>email</email> 
    <status>XXXXX</status> 
    <contact>N/A</contact> 
    </agent> 
    <agent> 
    <id>user2</id> 
    <name>Name 2</name> 
    <turret>extension</turret> 
    <email>email</email> 
    <status>XXXXX</status> 
    <contact>N/A</contact> 
    </agent> 
    <agent> 
    <id>user3</id> 
    <name>Name 3</name> 
    <turret>Extension Number</turret> 
    <email>email address</email> 
    <status>XXXXX</status> 
    <contact>N/A</contact> 
    </agent> 
</CRM> 

し、そのデータを引っ張っする必要があるデータグリッドはここにある:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="CSTvisibility.aspx.vb" Inherits="CRM_availabilty.CSTvisibility" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <asp:XmlDataSource ID="data" runat="server" DataFile="~/crmdata.xml" XPath="/agent"></asp:XmlDataSource> 
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BorderStyle="Ridge" DataSourceID="data"> 
       <Columns> 
        <asp:BoundField DataField="name" HeaderText="CRM Agent" /> 
        <asp:BoundField DataField="turret" HeaderText="Turret" /> 
        <asp:BoundField DataField="email" HeaderText="Email" /> 
        <asp:BoundField DataField="status" HeaderText="Available" /> 
        <asp:BoundField DataField="contact" HeaderText="Contact Point" /> 
       </Columns> 
      </asp:GridView> 

     </div> 
    </form> 
</body> 
</html> 

答えて

0

スイッチにTemplateFieldの代わりBoundField。その後、XPathにアクセスできます。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataSourceID="data"> 
    <Columns> 
     <asp:TemplateField HeaderText="CRM Agent"> 
      <ItemTemplate> 
       <%# XPath("name") %> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Turret"> 
      <ItemTemplate> 
       <%# XPath("turret") %> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Email"> 
      <ItemTemplate> 
       <a href="mailto:<%# XPath("email") %>"><%# XPath("email") %></a> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

XmlDataSourceでXPathでなければなりませんXPath="CRM/agent"

関連する問題