pageLoad 里面 js不执行
//pageload 函数
if (!IsPostBack)
{
CheckLogin();
CheckPurView();
BindData();
}
/// <summary>
/// 判断是否登录
/// </summary>
private void CheckLogin()
{
if (Session["bk_UserName"] == null || Session["bk_UserID"] == null)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Login", "alert('请重新登录!');window.parent.location.href = 'Login.aspx';", true);
return;
}
}
/// <summary>
/// 判断权限
/// </summary>
private void CheckPurView()
{
bool blnResult = false;
string strUserID = Session["bk_UserID"].ToString();
string strPurView = bll.GetModel(Convert.ToInt32(strUserID)).User_Right;
for (int i = 0; i < strPurView.Split(',').Length; i++)
{
if (strPurView.Split(',')[i] == "103")
{
blnResult = true;
break;
}
}
if (blnResult == false)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "PurView", "alert('您没有权限访问此页面'); history.go(-1);", true);
}
}
为什么PageLoad 里的js 不执行 --------------------编程问答-------------------- Page.ClientScript.RegisterStartupScript(Page.GetType(), "Login", "alert('请重新登录!');window.parent.location.href = 'Login.aspx';", true); 这句不执行。 --------------------编程问答-------------------- 你让他如何执行.....
PageLoad()是后台方法,
那个时候页面还在服务器端生成中,
还没到传到客户端浏览器中来,
js如何执行?? --------------------编程问答-------------------- 把“window.parent.location.href = 'Login.aspx'”这个去掉 看看alert执行吗? --------------------编程问答-------------------- 有道理。 --------------------编程问答-------------------- 貌似我理解错了 --------------------编程问答-------------------- 我用的框架 ,怎么跳转? --------------------编程问答-------------------- RegisterStartupScript 已过时。在页响应中发出客户端脚本块。 --------------------编程问答-------------------- alert(也没执行) --------------------编程问答-------------------- 检查下blnResult 的值 是否为false
--------------------编程问答-------------------- Page.GetType()改成this.GetType()看看 --------------------编程问答-------------------- 到 string strUserID = Session["bk_UserID"].ToString(); 提示有错误
Page.GetType()改成this.GetType()看看 也不行 --------------------编程问答-------------------- 你的页面是否用了ajax? --------------------编程问答--------------------
Page.ClientScript.RegisterStartupScript(this,GetType(), "Login", "<script>alert('请重新登录!');window.parent.location.href = 'Login.aspx';</script>", false); 试试 --------------------编程问答-------------------- 没用ajax --------------------编程问答-------------------- 你好像说对了。 我把CheckPurView()
加上了 判断为空的 函数,要不会在运行时报错 因为
string strUserID = Session["bk_UserID"].ToString();
这句有错误。我加了
if (Session["bk_UserID"] == null)
{
return;
}
页面能正常进行pageload ,所以 到了客户端才能进行 js --------------------编程问答-------------------- response.write("<script>alert("xxxx")</script>")
这样写就OK了 --------------------编程问答-------------------- --------------------编程问答--------------------
这样写容易导致页面元素排列混乱,
轻易不要这么写 --------------------编程问答-------------------- Page.ClientScript.RegisterStartupScript(Page.GetType(), "Login", "alert('请重新登录!');window.parent.location.href = 'Login.aspx';", true);
你调试看看走这句话了吗 --------------------编程问答-------------------- basepage
ihttphanlder判断session
ClientScript.RegisterStartupScript(this,GetType(), "Login", "<script>alert('请重新登录!');top.location.href = 'Login.aspx';</script>", false); --------------------编程问答-------------------- 已经ok了吗,刚进来看到! --------------------编程问答-------------------- Session["bk_UserName"] == null || Session["bk_UserID"] == null
这个判断有问题吧!
这是一个对象吧,本身不为Null吧
应该trim(Session["bk_UserName"].toString()) == ""; --------------------编程问答-------------------- 一切都有可能!! --------------------编程问答-------------------- Try the following code:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), alert('请重新登录!');window.parent.location.href = 'Login.aspx';", true);--------------------编程问答-------------------- --------------------编程问答-------------------- 来看大牛们的解释 --------------------编程问答-------------------- 不要加return看看 --------------------编程问答-------------------- 这个说的对啊
补充:.NET技术 , ASP.NET