我现在想用JS在满足一定的条件下在前台调用ASP.NET的一个后台方法,但是现在发现那个被调用的后台方法,不管满不满足条件都被调用了,那个后台方法在一加载页面时就立即运行了,根本不等前台的JS运行,所以判断条件没起什么作用,有什么好的方法解决这个问题吗?
我是这样写的:
JS:
function FunA()
{
if(event.keyCode==13)
{
var strUnit = "<%=GetUnit()%>";
}
}
后台:
public string GetUnit()
{
。。。。。。。。。。。
}
本想只有用户敲了回车键后才去调用后台方法GetUnit的,但是运行时发现根部不是那么回事,而是在一加载页面就去跑了GetUnit方法,有什么方法可以阻止GetUnit立即运行吗?
你这种写法是错误的.aspx页面<%%>中的代码在页面输出html时就已经执行过了.如果要想前后台交互,可以考虑页面回发或用ajax操作.
楼主描述的是ajax的范畴,你这样使用当然是在页面加载的时候把方法返回结果直接输出了...
用一般处理程序吧。.ashx那个或者webservice也可以。