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方法是可以被执行的。 这两者有什么区别呢?
如果我想先前端调用后台的方法,然后在后台调用前端的方法,应该怎么实现呢?谢谢了!
展开
 我来答
灵葬外与他29
推荐于2018-04-06 · TA获得超过2183个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:950万
展开全部
明显的
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>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式