问题描述
我在js里一个button单击事件里写了<%=aa()%>取值,在aspx.cs文件里,aa方法返回一个数值。但问题在于,页面一加载的时候,就去执行aa方法,而并非在button单击的时候才去执行。谁能给我解释下?如果我需要在button单击的时候才去执行,需要怎么操作?
解决方案
解决方案二:
aspx页面执行顺序是先后台代码,然后在生成前台html,你这个aa()后台方法,是在后台执行完毕后生成前台页面时候执行的。如果要button点击后执行那就要通过前台js+ajax了或者服务器控件(两者本质是一样的)
解决方案三:
要把《%%》去掉,直接onclick=“aa()”;当然这个aa()必须是js函数,然后这个js函数通过ajax调用后台的aa()方法
解决方案四:
贴代码你点击事件咋写的。
解决方案五:
谢谢各位了,我用Ajax解决了。我知道是怎么回事,但想弄明白点方法。我的业务功能是,一个表单,上面有密码字段,Ajax提交数据(公用的Insert)方法,所以不能改这里的密码加密。我本来加了runat="server",在bottom提交的时候通过<%=aa()%>执行,返回加密结果,然后不行,一直是空,publicstringaa(){returnjiami(text1.value);}
结果text1一直是空,现在用ajax解决了。只不过运行机制我自己还有点解释不清...
解决方案六:
<%%>是你界面加载完毕前就已经结束了,也就是ASP.NET拼接html的时候,再换句话说,当你看到页面效果的时候就已经执行了。你的单击是看到效果才执行的
解决方案七:
一般是用ajax调用
解决方案八:
<%=aa()%>在服务器端执行的,它执行完毕,才可能发送html信息到浏览器端。你说的那个,执行在浏览器端。两个逻辑根本不在一个执行层次上!
解决方案九:
与其问别人“需要怎么操作?”,不如先问明白“到底是怎样的机制?”。前者是只管眼前一两行代码,后者才是你自己学到了程序设计技术。
解决方案十:
该回复于2014-12-06 19:46:48被版主删除