请帮我解决这个错误

本文关键字:错误 解决 | 更新日期: 2023-09-27 18:12:54

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' 是一个物理路径,但是期望是一个虚拟路径。

请帮我解决这个错误

删除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应用程序的虚拟路径的家

异常告诉你:你正在传递一个物理路径c:''

,

服务器。MapPath期望一个虚拟路径~/