后台不能调用到前台js,而且不能弹出提示框?

时间:2021-02-03 20:39:26
这个问题已经纠结了两天了,哪位大哥遇到过,给解决一下啊?

52 个解决方案

#1


代码贴出来看看。

#2



fucntion csdn()
{
 alert('床上等你...');
}


 Page.ClientScript.RegisterStartupScript(this.GetType(), "", "csdn();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "", "csdn();", true);

#3


可能前台js的操作的 控件 还未加载完成...

楼主可以先尝试js函数中 只有 alert()看看能否调用

#4


引用 2 楼 q107770540 的回复:
C# code

 Page.ClientScript.RegisterStartupScript(this.GetType(), "", "csdn();", true);
            ScriptManager.RegisterStartupScr……

无语了,我用这两个还有错。是什么问题呢?

#5


顶一下!~
我是这样写的可以弹出:
ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('注册成功')</script>", false);

#7


是不是用了updatepannel

ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "", "alert('成功')", true);

#8


引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。

#9


没有使用任何ajax控件。

#10


引用 8 楼 adengliuqing 的回复:
引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。


那你上你的代码吧

#11


那就是你回复我的那句话了!~~哇哈哈哈哈!~~~

#12



                string name = Request.Form["txtUser"].ToString();
                string pwd = Request.Form["txtPwd"].ToString();
                UsersService us = new UsersService();
                UsersEntity ue = us.GetIfExits(name);
                if (ue == null)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "noobj", "alert('用户名不存在!');", true);
                    return;
                }
                if (ue.UPwd == pwd){
                    //ClientScript.RegisterStartupScript(this.GetType(), "pwdistrue", "<!- alert('登录成功!');document.getElementById('login').style.display='none';document.getElementById('user').style.display='block'; -->", true);
                    //Response.Write("<script>MyFun();</script>");
                    //ClientScript.RegisterStartupScript(this.GetType(), "myscript", "<script>MyFun();</script>");
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "MyFun();", true);
                    Session["user"] = ue;
                    this.lblUser.Text = ue.UTrueName;
                }
                else{
                    ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);
                }

#13


引用 8 楼 adengliuqing 的回复:
引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。


那就只能用你回复我那句话来形容了,哇哈哈哈!~~

#14


ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);

这样的话最后的参数应该传false吧

#15


你在脚本那条语句上打个断点看看

 我认为是语句执行了  因为后面还有 代码没执行完 造成被忽略了~

#16


引用 14 楼 mingz1113 的回复:
ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);

这样的话最后的参数应该传false吧


要明白最后那个参数的意义

最后那个参数 是用来表示 你的js参数 外是否加上脚本标志

就是 <script></script>

#17


引用 15 楼 klyh1207 的回复:
你在脚本那条语句上打个断点看看

 我认为是语句执行了 因为后面还有 代码没执行完 造成被忽略了~

我调试过走到代码上面了,但是……

好,我再试试。

#18


代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

#19


引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

这位大哥我的代码正常运行,但就是不弹框。

#20


引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?

#21


引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个

#22


引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不要看到船和山就说是清远。。。

#23


接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩

#24


引用 21 楼 mngzilin 的回复:
引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个


她是说你照片上的地方是不是清远,上次去清远漂流,她现在只要看到船和山就觉得是清远!~哈哈哈!~

#25


引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?

#26


引用 25 楼 mngzilin 的回复:
引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?


在广东

#27


我觉得你不应该用那种JS注册方式

试试这个


StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("alert('YES!')");
            sb.Append("</script>");
            this.RegisterStartupScript(System.Guid.NewGuid().ToString(), sb.ToString());

#28


引用 26 楼 mingz1113 的回复:
引用 25 楼 mngzilin 的回复:
引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?


在广东


……少在这忽悠人

#29


引用 27 楼 klyh1207 的回复:
我觉得你不应该用那种JS注册方式

试试这个


C# code

StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("alert('YES!')");
            sb.Appe……

大哥,还是不行,到底是做错什么了呢?

#30


引用 28 楼 adengliuqing 的回复:
哦?呵呵。清远在哪里啊?


在广东


……少在这忽悠人


淡定!~~ 后台不能调用到前台js,而且不能弹出提示框?

#31


引用 23 楼 mngzilin 的回复:
接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩


呵呵,下次去玩!

#32


1.首先确定你if正确的进入了某个分支

2.然后确定你js注册到了页面的底部,而不是顶部

3.其次检查你调用的前台js方法是否能够执行

如果上面三步不能解决,问上帝,他可能会知道

#33


引用 31 楼 adengliuqing 的回复:
引用 23 楼 mngzilin 的回复:
接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩


呵呵,下次去玩!


欢迎!~~~

#34


引用 32 楼 mngzilin 的回复:
1.首先确定你if正确的进入了某个分支

2.然后确定你js注册到了页面的底部,而不是顶部

3.其次检查你调用的前台js方法是否能够执行

如果上面三步不能解决,问上帝,他可能会知道


我不想去问上帝……

#35


引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?

#36


对了 问一声 你调试都能走进去?

#37


你浏览器有禁用脚本么?

#38


1.首先确定你if正确的进入了某个分支

调试进去了,代码一句句正常运行。

2.然后确定你js注册到了页面的底部,而不是顶部
哈哈,就是这个问题,放到底部就可以运行了。

3.其次检查你调用的前台js方法是否能够执行
前台代码不在后台调就可以执行。

#39


多谢多谢!

#40


引用 35 楼 mngzilin 的回复:
引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?


还得谢谢你这一问啊!

#41


引用 40 楼 adengliuqing 的回复:
引用 35 楼 mngzilin 的回复:
引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?


还得谢谢你这一问啊!


不客气,呵呵。其实一般错误集中在“然后确定你js注册到了页面的底部,而不是顶部”这里。和注册脚本有两种,你用注册到底部的那种就可以。很久没写了,哪个方法名字忘记了

#42


你们啊!不能用Response.Write("<script> 调用的函数</script>");

#43


引用 42 楼 jsjhj2008 的回复:
你们啊!不能用Response.Write("<script> 调用的函数</script>");


呵呵,这个真不能 后台不能调用到前台js,而且不能弹出提示框?

#44


引用 43 楼 mngzilin 的回复:
引用 42 楼 jsjhj2008 的回复:
你们啊!不能用Response.Write("<script> 调用的函数</script>");


呵呵,这个真不能

呵呵,是啊,我以前就用过这个,吃亏啊!那时候找了很久样式的问题哦!

#45


引用 21 楼 mngzilin 的回复:
引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个


年初还经常见     最近是不见人影了

#46


找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

#47


代码写的还行.

#48


引用 46 楼 alwayslonely 的回复:
找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

额……这位大哥,我的key好像没有register多次,思路太死板了吗?多谢大哥指教指教!

#49


引用 48 楼 adengliuqing 的回复:
引用 46 楼 alwayslonely 的回复:
找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

额……这位大哥,我的key好像没有register多次,思路太死板了吗?多谢大哥指教指教!


......
我胡说的,装装而已.

从你的代码也看不出到底是什么问题.不过有个方法一定可以解决...

你在Js里写上window.onload方法,然后方法里通过<%= %>属性输出一段脚本,就把这句包含进去就行了呗~而且这样写也不会让代码很难看.

你试试,有问题再说...
我继续装...去...

#50


就像输出文本一样输出脚本...就行了.说到底,aspx最后还是作为模板转化成Html的文本,所有元素,都当文本处理,最直接了.

#1


代码贴出来看看。

#2



fucntion csdn()
{
 alert('床上等你...');
}


 Page.ClientScript.RegisterStartupScript(this.GetType(), "", "csdn();", true);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "", "csdn();", true);

#3


可能前台js的操作的 控件 还未加载完成...

楼主可以先尝试js函数中 只有 alert()看看能否调用

#4


引用 2 楼 q107770540 的回复:
C# code

 Page.ClientScript.RegisterStartupScript(this.GetType(), "", "csdn();", true);
            ScriptManager.RegisterStartupScr……

无语了,我用这两个还有错。是什么问题呢?

#5


顶一下!~
我是这样写的可以弹出:
ClientScript.RegisterStartupScript(this.GetType(), "info", "<script>alert('注册成功')</script>", false);

#6


#7


是不是用了updatepannel

ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "", "alert('成功')", true);

#8


引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。

#9


没有使用任何ajax控件。

#10


引用 8 楼 adengliuqing 的回复:
引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。


那你上你的代码吧

#11


那就是你回复我的那句话了!~~哇哈哈哈哈!~~~

#12



                string name = Request.Form["txtUser"].ToString();
                string pwd = Request.Form["txtPwd"].ToString();
                UsersService us = new UsersService();
                UsersEntity ue = us.GetIfExits(name);
                if (ue == null)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "noobj", "alert('用户名不存在!');", true);
                    return;
                }
                if (ue.UPwd == pwd){
                    //ClientScript.RegisterStartupScript(this.GetType(), "pwdistrue", "<!- alert('登录成功!');document.getElementById('login').style.display='none';document.getElementById('user').style.display='block'; -->", true);
                    //Response.Write("<script>MyFun();</script>");
                    //ClientScript.RegisterStartupScript(this.GetType(), "myscript", "<script>MyFun();</script>");
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "MyFun();", true);
                    Session["user"] = ue;
                    this.lblUser.Text = ue.UTrueName;
                }
                else{
                    ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);
                }

#13


引用 8 楼 adengliuqing 的回复:
引用 6 楼 mngzilin 的回复:
http://blog.csdn.net/willonboy/archive/2009/07/29/4389095.aspx


呵呵,如果我说我用里面的方法都不可以弹出呢?从来没有遇到这种问题。。。。


那就只能用你回复我那句话来形容了,哇哈哈哈!~~

#14


ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);

这样的话最后的参数应该传false吧

#15


你在脚本那条语句上打个断点看看

 我认为是语句执行了  因为后面还有 代码没执行完 造成被忽略了~

#16


引用 14 楼 mingz1113 的回复:
ClientScript.RegisterStartupScript(this.GetType(), "updatePwd", "alert('登录失败!');", true);

这样的话最后的参数应该传false吧


要明白最后那个参数的意义

最后那个参数 是用来表示 你的js参数 外是否加上脚本标志

就是 <script></script>

#17


引用 15 楼 klyh1207 的回复:
你在脚本那条语句上打个断点看看

 我认为是语句执行了 因为后面还有 代码没执行完 造成被忽略了~

我调试过走到代码上面了,但是……

好,我再试试。

#18


代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

#19


引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

这位大哥我的代码正常运行,但就是不弹框。

#20


引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?

#21


引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个

#22


引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不要看到船和山就说是清远。。。

#23


接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩

#24


引用 21 楼 mngzilin 的回复:
引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个


她是说你照片上的地方是不是清远,上次去清远漂流,她现在只要看到船和山就觉得是清远!~哈哈哈!~

#25


引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?

#26


引用 25 楼 mngzilin 的回复:
引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?


在广东

#27


我觉得你不应该用那种JS注册方式

试试这个


StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("alert('YES!')");
            sb.Append("</script>");
            this.RegisterStartupScript(System.Guid.NewGuid().ToString(), sb.ToString());

#28


引用 26 楼 mingz1113 的回复:
引用 25 楼 mngzilin 的回复:
引用 24 楼 mingz1113 的回复:
她是说你照片上的地方是不是清远,上次去清远漂流,她现……


哦?呵呵。清远在哪里啊?


在广东


……少在这忽悠人

#29


引用 27 楼 klyh1207 的回复:
我觉得你不应该用那种JS注册方式

试试这个


C# code

StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("alert('YES!')");
            sb.Appe……

大哥,还是不行,到底是做错什么了呢?

#30


引用 28 楼 adengliuqing 的回复:
哦?呵呵。清远在哪里啊?


在广东


……少在这忽悠人


淡定!~~ 后台不能调用到前台js,而且不能弹出提示框?

#31


引用 23 楼 mngzilin 的回复:
接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩


呵呵,下次去玩!

#32


1.首先确定你if正确的进入了某个分支

2.然后确定你js注册到了页面的底部,而不是顶部

3.其次检查你调用的前台js方法是否能够执行

如果上面三步不能解决,问上帝,他可能会知道

#33


引用 31 楼 adengliuqing 的回复:
引用 23 楼 mngzilin 的回复:
接上,sorry,说错了,你可能是问我照片上的地方时哪里吧,大连老虎滩


呵呵,下次去玩!


欢迎!~~~

#34


引用 32 楼 mngzilin 的回复:
1.首先确定你if正确的进入了某个分支

2.然后确定你js注册到了页面的底部,而不是顶部

3.其次检查你调用的前台js方法是否能够执行

如果上面三步不能解决,问上帝,他可能会知道


我不想去问上帝……

#35


引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?

#36


对了 问一声 你调试都能走进去?

#37


你浏览器有禁用脚本么?

#38


1.首先确定你if正确的进入了某个分支

调试进去了,代码一句句正常运行。

2.然后确定你js注册到了页面的底部,而不是顶部
哈哈,就是这个问题,放到底部就可以运行了。

3.其次检查你调用的前台js方法是否能够执行
前台代码不在后台调就可以执行。

#39


多谢多谢!

#40


引用 35 楼 mngzilin 的回复:
引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?


还得谢谢你这一问啊!

#41


引用 40 楼 adengliuqing 的回复:
引用 35 楼 mngzilin 的回复:
引用 34 楼 adengliuqing 的回复:
我不想去问上帝……


那你确定这三点没问题?


还得谢谢你这一问啊!


不客气,呵呵。其实一般错误集中在“然后确定你js注册到了页面的底部,而不是顶部”这里。和注册脚本有两种,你用注册到底部的那种就可以。很久没写了,哪个方法名字忘记了

#42


你们啊!不能用Response.Write("<script> 调用的函数</script>");

#43


引用 42 楼 jsjhj2008 的回复:
你们啊!不能用Response.Write("<script> 调用的函数</script>");


呵呵,这个真不能 后台不能调用到前台js,而且不能弹出提示框?

#44


引用 43 楼 mngzilin 的回复:
引用 42 楼 jsjhj2008 的回复:
你们啊!不能用Response.Write("<script> 调用的函数</script>");


呵呵,这个真不能

呵呵,是啊,我以前就用过这个,吃亏啊!那时候找了很久样式的问题哦!

#45


引用 21 楼 mngzilin 的回复:
引用 20 楼 adengliuqing 的回复:
引用 18 楼 mngzilin 的回复:
代码没问题

这要看你if逻辑有没有问题了,断点看看是否正确的进入了if的某个分支中

大哥的头像好眼熟,是在清远吗?


不会吧,我很少上来的,绝对一个月不会回技术帖超过5个


年初还经常见     最近是不见人影了

#46


找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

#47


代码写的还行.

#48


引用 46 楼 alwayslonely 的回复:
找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

额……这位大哥,我的key好像没有register多次,思路太死板了吗?多谢大哥指教指教!

#49


引用 48 楼 adengliuqing 的回复:
引用 46 楼 alwayslonely 的回复:
找找是不是key被regist了多次.这样的信息量也看不出什么.

思路太死板.

脚本也不过是文本,不是一定要怎样怎样的.你就当文本写进去,不知道要省掉多少烦恼...傻妞.傻不傻夫斯基.

额……这位大哥,我的key好像没有register多次,思路太死板了吗?多谢大哥指教指教!


......
我胡说的,装装而已.

从你的代码也看不出到底是什么问题.不过有个方法一定可以解决...

你在Js里写上window.onload方法,然后方法里通过<%= %>属性输出一段脚本,就把这句包含进去就行了呗~而且这样写也不会让代码很难看.

你试试,有问题再说...
我继续装...去...

#50


就像输出文本一样输出脚本...就行了.说到底,aspx最后还是作为模板转化成Html的文本,所有元素,都当文本处理,最直接了.