asp.net中父窗口调用子窗口并给子窗口的元素赋值或改变状态

一、第一种方法:通过父窗口直接写子窗口的元素

function assgVal() {
            jskh_str = "张三";
            wfpjkh_str = "李四";
            wfpjdw_str = "xxx有限公司";
            var xgr_str = "<%= Session["xx_user"]%>";
            var fwqsj_str = "<%= get_fwq_datetime() %>";
            
            
            $('#son').contents().find("input[name = 'dfpjkh']").val(jskh_str);
            $('#son').contents().find("input[name = 'wfpjkh']").val(wfpjkh_str);
            $('#son').contents().find("input[name = 'wfpjdw']").val(wfpjdw_str);
            $('#son').contents().find("input[name = 'pbzt']").val("出票通知单");

            $('#son').contents().find("input[name = 'xgr']").val(xgr_str);
            $('#son').contents().find("input[name = 'xgsj']").val(fwqsj_str);
            $('#son').contents().find("input[name = 'lrr']").val(xgr_str);
            $('#son').contents().find("input[name = 'lrsj']").val(fwqsj_str);

            $('#son').contents().find("input[name='new_btn']").val('保存');
            $('#son').contents().find("input[name='close_btn']").val('取消');
            $('#son').contents().find("input[name='yz_btn']").attr('disabled', true);
            $('#son').contents().find("input[name='qxyz_btn']").attr('disabled', true);
            $('#son').contents().find("input[name='print_btn']").attr('disabled', true);
            
            $.ajax({
                type: "post",
                url: "/UI/Cpzb_page/cpzb.aspx/get_sh_dzdh_khhjzh_info",
                dataType: "text",
                data: "{wfpjdw:'"+wfpjdw_str+"'}",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    var hh = JSON.parse(data);
                    var jj = JSON.parse(hh.d)
                        
                    $('#son').contents().find("input[name = 'cpsh']").val(jj[0].税号);
                    $('#son').contents().find("input[name = 'wfdzdh']").val(jj[0].地址电话);
                    $('#son').contents().find("input[name = 'wfkhhjzh']").val(jj[0].开户行及帐号);
                   
                },
                error: function () {
                    alert("税号地址电话开户行及帐号获取失败!请联系程序员!");
                }

            });

            $('#son').contents().find("input[name = 'pjbh']").val(<%= get_max_pjbh() %>);
          
        }

二、通过URL给子网页传参数,通过后台给子网页的元素赋值

  function wen() {
                var hrefs = "<iframe id='son' src='/UI/Cpzb_page/cptzd.aspx?type=new' allowTransparency='true' style='border:0;width:99%;height:99%;padding-left:2px;' frameBorder='0'></iframe>";
                $("#win").html(hrefs);
            }
//子网页的Page_Load事件中解析传入的参数,根据参数的值给子网页的元素赋值或设置元素的状态:如Button按钮的可用状态等。
  protected void Page_Load(object sender, EventArgs e)
        {
            //通过页面传参得到操作类型,然后设置元素值或状态
           string lx=Request.QueryString["type"].ToString();
           switch (lx)
           {
              case "new":
                wfpjdw.Text="123";
                yz_btn.Enabeld=false;        
                ......
              break;
            }
        }

注意在开发过程中曾经遇到过:dx:ASPxButton用Jquery在前台控制可用状态失效的情况,即在html显示disabled=“disabled”,但是却依然可以点击执行方法,无奈换成了HTML控件成功。
但是由于控制子网页中的元素有两种方法,
一种是父窗口直接给子网页元素写值或控制状态(HTML控件可以, DEV(dx.16.2)控件无效),
一种是通过URL传参,通过page_load事件来解析传入的参数,根据参数值来判断如何控制子网页的元素,
html控件如果想在后台控制其状态,必须在前台代码加入:runat=“server”,否则在后台找不到该控件
dx:ASPxButton控件虽然在前台用Jquery无法控制其状态,但是可以通过第二种方法在后台的Page_Load事件中控制其状态。
秋风2020.2.25写淄博 技术交流与业务联系:375172665

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值