input text调用后台方法

rr998 2013-04-11 10:56:48
<input type="text" id="pro" name="pro" runat="server" onblur="aa()" />

文本框失去焦点执行后台方法,这个aa()方法怎么调用后台方法???

我这个后台方法,是查询数据库然后给页面其它控件赋值,这些之前是下拉框的change事件里
现在把下拉框换成了文本框,想在失去焦点事件里写原来change事件里的代码,不知道怎么调用,请问该怎么实现??比较急,请大家帮忙
...全文
405 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mirror然 2013-04-15
  • 打赏
  • 举报
回复
引用 16 楼 rr998 的回复:
引用 15 楼 yuyanxing09 的回复:引用 6 楼 liuchaolin 的回复:用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')" ++ 就用这个吧, 这些方法都会刷新啊,能不能不刷新 ……
那就用JS 或者AJAX
rr998 2013-04-15
  • 打赏
  • 举报
回复
引用 15 楼 yuyanxing09 的回复:
引用 6 楼 liuchaolin 的回复:用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')" ++ 就用这个吧,
这些方法都会刷新啊,能不能不刷新
wanhao110 2013-04-11
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')"
太强大了我以前怎么没有想到..........
md5e 2013-04-11
  • 打赏
  • 举报
回复
用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')"
superfrank0711 2013-04-11
  • 打赏
  • 举报
回复
简单点 可以直接用方法一 或者 方法二
superfrank0711 2013-04-11
  • 打赏
  • 举报
回复
方法一: 1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById("btn1").click(); 3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数; 方法二: 1、函数声明为public 后台代码(把public改成protected也可以)public string ss(){return("a");}2、在html里用<%=fucntion()%>可以调用前台脚本<script language=javascript>var a = "<%=ss()%>";alert(a);</script> 方法三: 1、<script language="javascript"><!--function __doPostBack(eventTarget, eventArgument){var theForm = document.Form1; //指runat=server的formtheForm.__EVENTTARGET.value = eventTarget;theFrom.__EVENTARGUMENT.value = eventArgument;theForm.submit();}--></script><input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')">方法四:<script language="javascript">function SubmitKeyClick(){if (event.keyCode == 13){event.cancelBubble = true;event.returnValue = false;document.all.FunName.value="你要调用的函数名";document.form[0].submit();}}</script><INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text"><input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉
wanhao110 2013-04-11
  • 打赏
  • 举报
回复
这个事件是个 回车事件
rr998 2013-04-11
  • 打赏
  • 举报
回复
引用 1 楼 wanhao110 的回复:
前台 XML/HTML code?1 <input type="text" id="pro" name="pro" runat="server" onserverchange="pro_Change" /> 后台 C# code?1234protected void pro_Change(object sender, EventArgs e){ } 这个他只……
试了下,没有反应啊,我在这个后台方法里,Response.Write("fdfdf");显示不出来。。
wanhao110 2013-04-11
  • 打赏
  • 举报
回复
前台

    <input type="text" id="pro" name="pro" runat="server" onserverchange="pro_Change" />
后台

protected void pro_Change(object sender, EventArgs e)
{

}
这个他只有Enter后台事件,你可以使用Ajax请求或者使用AjaxPro.2框架来完成,这都是非常不错的选择
耗子哭死猫 2013-04-11
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')"
++ 就用这个吧,
  • 打赏
  • 举报
回复
建议你这种情况的话就是使用ajax,在input元素的“失去焦点”事件函数或“文字改变”事件函数中,异步请求服务端(比如一个aspx或ashx页面),在该页面的page load事件中,取得post/get发送过来的值,执行数据库查询,然后返回数据(json什么的),回到ajax回调函数时,使用js给页面其他相关控件赋值
  • 打赏
  • 举报
回复
有两个办法“执行所谓的后台方法”,其实就是用回调(通过postback),或者用ajax异步请求。 具体说就是在这个input 元素上某个事件处理函数中,submit页面,post回服务端,这样是有刷新的 或者就是在该处理函数中,用ajax方法请求服务端
rr998 2013-04-11
  • 打赏
  • 举报
回复
引用 10 楼 lizeyuan8238386 的回复:
引用 8 楼 rr998 的回复:引用 6 楼 liuchaolin 的回复:用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')" 你说的这个Button是服务器控件吧,我们程序中不让用服务器控件,所以这个方法就不能用……
加runat="server"可以,但是不能用asp:Button
rr998 2013-04-11
  • 打赏
  • 举报
回复
引用 9 楼 wanhao110 的回复:
用AjaxPro.2框架 给你个传送门 http://www.cnblogs.com/GT_Andy/archive/2010/01/11/1921902.html
这个貌似有一点点复杂,能不能用4楼那个方法啊 我这样写的 <script language="javascript" type="text/javascript"> function aa(){ var s = "<%=dchange()%>"; document.write(s); } </script> <input type="text" id="pro" name="pro" runat="server" onblur="aa()" /> dchange()这个是后台的方法,但是他是有返回值的, 我现在不想让他有返回值,只执行一下这个方法,却报错。。 怎么办。。。
  • 打赏
  • 举报
回复
引用 8 楼 rr998 的回复:
引用 6 楼 liuchaolin 的回复:用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')" 你说的这个Button是服务器控件吧,我们程序中不让用服务器控件,所以这个方法就不能用了。。
你的html控件加了个runat="server" 也等于把他变成服务器控件了撒
wanhao110 2013-04-11
  • 打赏
  • 举报
回复
用AjaxPro.2框架 给你个传送门 http://www.cnblogs.com/GT_Andy/archive/2010/01/11/1921902.html
rr998 2013-04-11
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
用一个Button1,绑定事件,属性设置 UseSubmitBehavior="False", 然后就可以这么用<input onblur="__doPostBack('Button1','')"
你说的这个Button是服务器控件吧,我们程序中不让用服务器控件,所以这个方法就不能用了。。

62,046

社区成员

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

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

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

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