运行先后的问题

qq_20980381 2014-09-18 11:20:57
我在js里一个button单击事件里写了<%=aa()%>取值,

在aspx.cs文件里,aa方法返回一个数值。

但问题在于,页面一加载的时候,就去执行aa方法,而并非在button单击的时候才去执行。谁能给我解释下?

如果我需要在button单击的时候才去执行,需要怎么操作?
...全文
566 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
与其问别人“需要怎么操作?”,不如先问明白“到底是怎样的机制?”。前者是只管眼前一两行代码,后者才是你自己学到了程序设计技术。
  • 打赏
  • 举报
回复
<%=aa()%> 在服务器端执行的,它执行完毕,才可能发送 html 信息到浏览器端。 你说的那个,执行在浏览器端。两个逻辑根本不在一个执行层次上!
yaotomo 2014-09-19
  • 打赏
  • 举报
回复
一般是用ajax调用
  • 打赏
  • 举报
回复
谢谢各位了,我用Ajax解决了。我知道是怎么回事,但想弄明白点方法。 我的业务功能是,一个表单,上面有密码字段,Ajax提交数据(公用的Insert)方法,所以不能改这里的密码加密。 我本来加了runat="server",在bottom提交的时候通过<%=aa()%>执行,返回加密结果,然后不行,一直是空,
public string aa(){return jiami(text1.value);}
结果text1一直是空,现在用ajax解决了。只不过运行机制我自己还有点解释不清...
qzyf1992 2014-09-18
  • 打赏
  • 举报
回复
贴代码 你点击事件咋写的。
fcylovehbb 2014-09-18
  • 打赏
  • 举报
回复
要把《%%》去掉,直接onclick=“aa()”;当然这个aa()必须是js函数,然后这个js函数通过ajax调用后台的aa()方法
fcylovehbb 2014-09-18
  • 打赏
  • 举报
回复
aspx页面执行顺序是先后台代码,然后在生成前台html,你这个aa()后台方法,是在后台执行完毕后生成前台页面时候执行的。如果要button点击后执行那就要通过前台js+ajax了或者服务器控件(两者本质是一样的)
沈笑菲 2014-09-18
  • 打赏
  • 举报
回复
<%%> 是你界面加载完毕前就已经结束了,也就是ASP.NET拼接html的时候,再换句话说,当你看到页面效果的时候就已经执行了。 你的单击是看到效果才执行的

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧