首页 新闻 搜索 专区 学院

怎样使得JS调用的ASP.NET后台方法在满足条件下才执行?

0
悬赏园豆:30 [已解决问题] 解决于 2010-12-02 13:02

我现在想用JS在满足一定的条件下在前台调用ASP.NET的一个后台方法,但是现在发现那个被调用的后台方法,不管满不满足条件都被调用了,那个后台方法在一加载页面时就立即运行了,根本不等前台的JS运行,所以判断条件没起什么作用,有什么好的方法解决这个问题吗?

我是这样写的:

JS:

function FunA()

{

       if(event.keyCode==13)

      {

              var strUnit = "<%=GetUnit()%>";

       }

}

后台:

public string GetUnit()

{

       。。。。。。。。。。。

}

本想只有用户敲了回车键后才去调用后台方法GetUnit的,但是运行时发现根部不是那么回事,而是在一加载页面就去跑了GetUnit方法,有什么方法可以阻止GetUnit立即运行吗?

PnkZ的主页 PnkZ | 初学一级 | 园豆:200
提问于:2010-11-21 11:19
< >
分享
最佳答案
0

你这种写法是错误的.aspx页面<%%>中的代码在页面输出html时就已经执行过了.如果要想前后台交互,可以考虑页面回发或用ajax操作.

收获园豆:20
I,Robot | 大侠五级 |园豆:9583 | 2010-11-21 11:28
谢谢,我已经用了另一种方法弄好了,就是在后台加些判断,也能达到目的了。你说的方法也不错。
PnkZ | 园豆:200 (初学一级) | 2010-11-21 22:06
楼主 请问是加什么判断??我现在也出了这个问题 很急。。 希望你能帮助一下。 是怎么解决的?? 十分感谢
lin- | 园豆:200 (初学一级) | 2011-03-16 13:45
其他回答(2)
0

楼主描述的是ajax的范畴,你这样使用当然是在页面加载的时候把方法返回结果直接输出了...

收获园豆:5
三桂 | 园豆:3565 (老鸟四级) | 2010-11-21 23:21
0

用一般处理程序吧。.ashx那个或者webservice也可以。

收获园豆:5
邢少 | 园豆:10926 (专家六级) | 2010-11-22 10:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册