zoukankan      html  css  js  c++  java
  • 回车,根据编码获取相应记录,然后再将这录绑定到AutoList

     问题描述:

                回车后,根据编码获取相应记录,然后再将这录绑定到AutoList(我们自定义控件,其实就是下拉列表),回车事件是用jquery ajax实现,这样在后台给AutoList绑定数据源,如果不刷新页面发现AutoList数据源没绑定上去。

    问题分析:

      AutoList必须要回发才可以将新的数据源绑定上去。而ajax是不会回发的。  

      

    解决方法:手工调用__doPostBack

    一、js

    回车是用jquery ajax实现:

        //获取公司名称
             $(function() {
                 $("input[id$='E_1_1_DOMAINID']").keydown(function(e) {
                     if (e.keyCode == 13 || e.keyCode == 9) {                  
                         __doPostBack("E_1_1_DOMAINID", $("input[id$='E_1_1_DOMAINID']").val());
                     }
                 });
    
             });
    View Code

      

    二、后台页面

    protected void Page_Load(object sender, EventArgs e)
     {
             ///如果页面没有自动生成__doPostBack() ,那么请利用GetPostBackEventReference给客户端生成__doPostBack() 
            ////如果报“__doPostBack”的值为 null,那就是说明要手工调用这个方法
            this.Page.GetPostBackEventReference(this, "");
    
            /// 当提交的隐含变量__EVENTTARGET为E_1_1_DOMAINID时,执行代码:
    
        if (this.Page.Request["__EVENTTARGET"] == "E_1_1_DOMAINID")
            {
    
        ///绑定你的数据源
                alst_CustomCode.ReBindValue(" DOMAINID='" + E_1_1_DOMAINID.Text + "'");
            }
     }
    
    后台页面代码
    后台代码

    __doPostBack 说明

      __doPostBack带有两个参数,eventTarget是标识将要引发页面PostBack的控件ID,eventArgument参数提供了在引发页面PostBack事件时所带的额外参数。当然这个函数被函数时,这两个参数的值将赋值给页面的两个隐含变量__EVENTTARGET和__EVENTARGUMENT,然后调用页面的submit方法提交页面表单。这就是为什么我们可以通过Request.Form[“__EVENTTARGET”]获取得到引发页面PostBack的控件ID的原因

      大部分的控件都是调用这个方法来引了页面的PostBack,只有两个控件是例外,Button 和 ImageButton,正是因为它们不是通过调用__doPostBack来回发事件,所以通过表单隐含变量__EVENTTARGET和__EVENTARGUMENT是无法获取得到引发PostBack的Button或ImageButton的ID和参数值的,只有通过下面的方式才能得它们的实例,进而判断是哪个控件引发的PostBack

    foreach (string str in Request.Form) 
    
        { 
    
        Control c = Page.FindControl(str); 
    
    if (c is Button) 
    
    { 
    
    control = c; 
    
    break; 
    
    } 
    
    } 
    View Code
  • 相关阅读:
    ThinkPHP5+jQuery+MySql实现投票功能
    JQ input输入框回车生成标签,可删除,并获取标签的值
    php 使用 CURL 获取数据
    new String创建了几个对象
    java高级开发面试总结
    使用 Sublime Text 将含下划线的字符串批量替换为驼峰命名法格式的字符串
    Synchronized方法锁、对象锁、类锁区别
    利用Redisson实现分布式锁及其底层原理解析
    MySQL索引
    JVM常见面试题
  • 原文地址:https://www.cnblogs.com/xbding/p/3461446.html
Copyright © 2011-2022 走看看