//这是一个aspx文件在cs中写入的代码
 string File_Name = Request.ServerVariables["PATH_INFO"].Substring(Request.ServerVariables["PATH_INFO"].LastIndexOf("/") + 1);//获得自身文件名
        string str = File_Name.Remove(File_Name.Length - 5).Trim();//截取后5位字符也就是说.apsx这个不要了,只要前面的文件名
        Admin_Allow(str);//调用方法
这个是在类中写的代码
public void Admin_Allow(string str)
    {
       
con.Open();
        cmd = new SqlCommand("select * from admin where ID=1", con);
        rad = cmd.ExecuteReader();
        rad.Read();
        string File_Name_Allow = rad["AllowAuthority"].ToString();//读取后台管理员用户AllowAuthority字段的权限
        con.Close();
        if (File_Name_Allow.IndexOf(str) == -1)//判断后台管理员用户AllowAuthority字段的权限是否有传进来的str字符()    
{
//没有提示无权访问,然后无任何显示内容    下面着个代码实现不了我要的效果 
            Response.Write("<script language='javascript'>alert('您好! 对不起,您无权访本页面!');</script>");
       
 }
        else
        {    
//如果有权限则直接打开 下面着个代码实现不了我要的效果      
            Response.Write("<script language='javascript'>window.location='" + Page.ResolveUrl(str) + "'</script>");
        }
}
问题:如果没有权限我要显示一个警告框,且让他没有任何显示内容。
      如果有权限访问,则直接显示内容
请高手帮忙,感激不尽!

解决方案 »

  1.   


    if (File_Name_Allow.IndexOf(str) == -1)// 注意这里的判断要保证正确
    {
    Response.Write("<script language='javascript'>alert('您好! 对不起,您无权访本页面!');</script>");
    Response.End();
    }
      

  2.   

    Path.GetFileName("")获取文件名
    if (File_Name_Allow.IndexOf(str) == -1)//contains
    {
      Response.Write("<script language='javascript'>alert('您好! 对不起,您无权访本页面!');</script>");
        Response.End();或location.href跳转
     }