asp.net中前端先调用的后台方法,然后在后台再调用前端方法没有作用 10
各位高手,我想实现的是,在前端先调用后台方法,后台处理一些事情再调用前端方法,但第二次调用没有作用,如果直接在后台调用前端方法是可以的。首先在前端:window.onlo...
各位高手,我想实现的是,在前端先调用后台方法,后台处理一些事情再调用前端方法,但第二次调用没有作用,如果直接在后台调用前端方法是可以的。
首先在前端:
window.onload = function () {
var s = '<%=OnClient() %>'; //调用后台方法
....
前端另外定义一个被调用的方法:
function MyFun22() {
alert(“aaa”); //此方法定义在<head>中
}
最后是后台的方法:
public string OnClient()
{
//后台处理一些事情再调用前端方法:
ClientScript.RegisterStartupScript(ClientScript.GetType(), "MyFun22", "<script type='text/javascript'>MyFun22();</script>"); //这一句调用没有作用!!
return "OK";
}
如果方法OnClient放在Page_Load中调用是有效果的,但按上面的调用却没有效果了,是不是生命周期的问题,应该怎么解决这个问题呢?谢谢了!
我调试了,var s = '<%=OnClient() %>';是可以调用到的,OnClient()中的ClientScript.RegisterStartupScript(....代码段也执行了,但前端的MyFun22方法被执行。但如果在后台的page_load中直接执行ClientScript.RegisterStartupScript(....,前端的MyFun22方法是可以被执行的。 这两者有什么区别呢?
如果我想先前端调用后台的方法,然后在后台调用前端的方法,应该怎么实现呢?谢谢了! 展开
首先在前端:
window.onload = function () {
var s = '<%=OnClient() %>'; //调用后台方法
....
前端另外定义一个被调用的方法:
function MyFun22() {
alert(“aaa”); //此方法定义在<head>中
}
最后是后台的方法:
public string OnClient()
{
//后台处理一些事情再调用前端方法:
ClientScript.RegisterStartupScript(ClientScript.GetType(), "MyFun22", "<script type='text/javascript'>MyFun22();</script>"); //这一句调用没有作用!!
return "OK";
}
如果方法OnClient放在Page_Load中调用是有效果的,但按上面的调用却没有效果了,是不是生命周期的问题,应该怎么解决这个问题呢?谢谢了!
我调试了,var s = '<%=OnClient() %>';是可以调用到的,OnClient()中的ClientScript.RegisterStartupScript(....代码段也执行了,但前端的MyFun22方法被执行。但如果在后台的page_load中直接执行ClientScript.RegisterStartupScript(....,前端的MyFun22方法是可以被执行的。 这两者有什么区别呢?
如果我想先前端调用后台的方法,然后在后台调用前端的方法,应该怎么实现呢?谢谢了! 展开
1个回答
展开全部
明显的
var s = '<%=OnClient() %>'; //调用后台方法
这句话不会调用后台代码
js调用不到C#的代码。。。
C#也调用不到JS代码。。。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "MyFun22", "<script type='text/javascript'>MyFun22();</script>");
这句话之所以能调用到前台的是因为他会输出以下这段HTML代码到前台页面
<script type="text/javascript">
MyFun22();
</script>
var s = '<%=OnClient() %>'; //调用后台方法
这句话不会调用后台代码
js调用不到C#的代码。。。
C#也调用不到JS代码。。。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "MyFun22", "<script type='text/javascript'>MyFun22();</script>");
这句话之所以能调用到前台的是因为他会输出以下这段HTML代码到前台页面
<script type="text/javascript">
MyFun22();
</script>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询