带颜色的是出错语句
public partial class Controller_Setting_Menu_Edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
new EController().ChkMenuPower(Server.MapPath("."), Server.MapPath("/")); }
}
}下面是定义处代码
/// <summary>
/// 判断用户是否有改页面权限
/// </summary>
/// <param name="FPath1">页面路径</param>
/// <param name="FPath2">根目录路径</param>
/// <returns></returns>
public void ChkMenuPower(string FPath1,string FPath2)
{
//路径
string FPath = FPath1.Replace(FPath2, "").Replace("\\", "/"); if (FPath.IndexOf("/") > -1)
{
FPath = FPath.Substring(FPath.IndexOf("/"));
} bool HavePower = false; SH.Open(); SqlDataReader Dr; int PowerId = 0;
string SQL1 = "SELECT id FROM Setting_Menu WHERE Flag=0 AND FPath=@FPath";
SqlParameter Parm1 = new SqlParameter("@FPath", SqlDbType.NVarChar);
Parm1.Value = FPath;
Dr = SH.ExecuteReader(SQL1, Parm1);
if (Dr.Read())
{
PowerId = Dr.IsDBNull(0) ? 0 : Dr.GetInt32(0);
}
Dr.Close();
Dr.Dispose(); if (PowerId > 0)
{
XParameter xParameter = new XParameter();
string SQL2 = "SELECT 1 FROM Controller WHERE Flag=0 AND Account=@Account AND Pword=@Pword AND (FType=0 OR " + xParameter.IdInIds(PowerId, "Power") + ")";
SqlParameter[] Parms2 = {
new SqlParameter("@Account",SqlDbType.NVarChar)
,new SqlParameter("@Pword",SqlDbType.NVarChar)
};
Parms2[0].Value = xeAccount.GetAccount("Controller", "Account");
Parms2[1].Value = xeAccount.GetAccount("Controller", "Pword"); Dr = SH.ExecuteReader(SQL2, Parms2); HavePower = Dr.HasRows; //权限给定 Dr.Close();
Dr.Dispose();
} SH.Close(); if (!HavePower)
{
//如果无菜单权限,则跳转到管理中心首页
HttpContext.Current.Response.Redirect("/Controller");
HttpContext.Current.Response.End();
}
}
请问要怎么改?
public partial class Controller_Setting_Menu_Edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
new EController().ChkMenuPower(Server.MapPath("."), Server.MapPath("/")); }
}
}下面是定义处代码
/// <summary>
/// 判断用户是否有改页面权限
/// </summary>
/// <param name="FPath1">页面路径</param>
/// <param name="FPath2">根目录路径</param>
/// <returns></returns>
public void ChkMenuPower(string FPath1,string FPath2)
{
//路径
string FPath = FPath1.Replace(FPath2, "").Replace("\\", "/"); if (FPath.IndexOf("/") > -1)
{
FPath = FPath.Substring(FPath.IndexOf("/"));
} bool HavePower = false; SH.Open(); SqlDataReader Dr; int PowerId = 0;
string SQL1 = "SELECT id FROM Setting_Menu WHERE Flag=0 AND FPath=@FPath";
SqlParameter Parm1 = new SqlParameter("@FPath", SqlDbType.NVarChar);
Parm1.Value = FPath;
Dr = SH.ExecuteReader(SQL1, Parm1);
if (Dr.Read())
{
PowerId = Dr.IsDBNull(0) ? 0 : Dr.GetInt32(0);
}
Dr.Close();
Dr.Dispose(); if (PowerId > 0)
{
XParameter xParameter = new XParameter();
string SQL2 = "SELECT 1 FROM Controller WHERE Flag=0 AND Account=@Account AND Pword=@Pword AND (FType=0 OR " + xParameter.IdInIds(PowerId, "Power") + ")";
SqlParameter[] Parms2 = {
new SqlParameter("@Account",SqlDbType.NVarChar)
,new SqlParameter("@Pword",SqlDbType.NVarChar)
};
Parms2[0].Value = xeAccount.GetAccount("Controller", "Account");
Parms2[1].Value = xeAccount.GetAccount("Controller", "Pword"); Dr = SH.ExecuteReader(SQL2, Parms2); HavePower = Dr.HasRows; //权限给定 Dr.Close();
Dr.Dispose();
} SH.Close(); if (!HavePower)
{
//如果无菜单权限,则跳转到管理中心首页
HttpContext.Current.Response.Redirect("/Controller");
HttpContext.Current.Response.End();
}
}
请问要怎么改?
是否目录权限问题