这是我第一次使用asp.net,所以如果这是一个愚蠢的问题,请接受我的道歉。
我正在尝试制作一个web应用程序,该应用程序将在我们的工作中运行sharepoint。这个想法是一组人可以选择什么时候可以打电话,如果他们是当天的联系人,这样不同楼层的人就可以在没有视线的情况下看到他们的可用性。
我通常会制作一个基本的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>
发布于 2017-09-01 10:59:18
切换到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>
XPath中的XmlDataSource必须是XPath="CRM/agent"
https://stackoverflow.com/questions/46006077
复制相似问题