使用Server.MapPath时,Permission Denied错误

时间:2011-10-13 08:27:02

标签: asp.net asp.net-2.0

以下是我的代码段:

   string ApplPath = Server.MapPath("./");
    switch (ddlReportType.Text)
    {
        case "District-wise":
            if (ddlDistrict.Text == "All")
                Response.Redirect(ApplPath + "contentReportAllDistricts.aspx");
            else if (ddlDistrict.Text != "All" && ddlDistrict.Text != "-- Select --")
                Response.Redirect(ApplPath + "contentReportSelectedBlocks.aspx?" + ddlDistrict.Text);
            break;
     }

当我没有使用Server.MapPath时,应用程序运行良好,但现在,IE调试器显示错误:Permisson Denied

我正在使用本地主机并从本地主机本身运行应用程序。

1 个答案:

答案 0 :(得分:1)

Server.MapPath将返回您网站的物理路径(例如C:/ MySite / ...),您应该按如下方式更改您的代码,以便从根目录获取路径:

switch (ddlReportType.Text) 
    { 
        case "District-wise": 
            if (ddlDistrict.Text == "All") 
                Response.Redirect("~/contentReportAllDistricts.aspx"); 
            else if (ddlDistrict.Text != "All" && ddlDistrict.Text != "-- Select --") 
                Response.Redirect( "~/contentReportSelectedBlocks.aspx?" + ddlDistrict.Text); 
            break; 
     } 

〜符号将解析为您网站的根目录。