一个textbox,要求实现焦点移动上去后,触发服务端事件,请问如何实现?

解决方案 »

  1.   

    办法1,ajax实现
    办法2,触发button的click方法
      

  2.   

    <asp:TextBox ID="txt1" runat="server" onclick="testClick()"></asp:TextBox><script>
       function testClick()
    {
        http://blog.csdn.net/wwfgu00ing/archive/2010/07/08/5721175.aspx
    }
    </script>
      

  3.   

    TextBox的主要服务器端事件是TextChanged,并未提供焦点变化的服务器端事件。
    如果真的需要的话,就是1楼说的,用ajax技术。
    或者你说说你的需求,帮你想更合适的做法。
      

  4.   

    哎,得罪的说一句,很多回复,说了等于没说
    用ajax实现,我也知道。。但是如何实现?用studio自带的ajax能搞定否?
      

  5.   

    在页面初始化时! 给页面注册一段JS脚本
    function BindMoueOver()
    {
       document.getElementById("textBox的ID.ClinentID").onfocus= function(){触发的事件};
    ]
      

  6.   


    实际应用需求是焦点到textbox后,显示验证码
      

  7.   

    ajaxcontrol tool kit可以 不过这东西感觉很庞大很慢
    不知有无高效方案?
      

  8.   

    Ajax实现起来确实复杂,我也不愿意用这种方式。
    简单的方法可以这样,用LinkButtom(点击显示验证码)的click事件,来出现验证码。
    我惯用的方法是,页面的Page_Load中就把验证码创建。
      

  9.   

    ajaxcontrol tool kit不划算而且因为TextBox的在服务器端没有Onfocus事件所以不好触发。
    个人觉得最好是用Ajax实现了,不过也可以换种思路
    if($("#txtbox").focus()){
       var str = "<img align='absmiddle' src='safecode.ashx' onclick=\"this.src='{0}&sn='+ Math.random();\" alt='点击更换图片' boder='0' width='54' height='24' style='vertical-align:bottom; cursor:pointer;' />";
       $("#txtbox").html(str);
    }或者你用AjaxPro直接在客户端调用服务端方法吧,也很方便的
    JS:    var mycode = mypage.GetCode().value;  //mypage目标页的类名称 GetCode为服务端方法