-8
protected void Page_Load(object sender, EventArgs e)
{
    DataSet ds = new DataSet();
    ds.ReadXml(Server.MapPath(@"C:\Users\Raymond\Documents\Visual Studio 2010\WebSites\WebSite17\XMLFile.xml"));
    Repeater1.DataSource= ds;
    Repeater1.DataBind();
}

我收到错误消息:

C:/Users/Raymond/Documents/Visual Studio 2010/WebSites/WebSite17/XMLFile.xml'是物理路径,但应该是虚拟路径。

4

2 回答 2

3

删除MapPath

ds.ReadXml(@"C:\Users\Raymond\Documents\Visual Studio 2010\WebSites\WebSite17\XMLFile.xml");

物理路径是磁盘上的实际路径,而虚拟路径是 Web 应用程序中的路径。MapPath将虚拟路径映射到物理路径。由于您已经有了物理路径,因此这里不需要它。

如果路径如下,您将需要它~/XMLFile.xml

ds.ReadXml(Server.MapPath(@"~/XMLFile.xml");

~是您的 Web 应用程序在虚拟路径中的主页。

于 2013-05-08T12:53:47.533 回答
1

正如异常告诉您的那样:您正在传递一条物理路径c:\\

Server.MapPath 需要一个虚拟路径~/

于 2013-05-08T12:54:11.457 回答