首页 新闻 会员 周边

页面UpdatePanel里面刷新获取值

0
悬赏园豆:80 [待解决问题]

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">

<asp:Button ID="GetCardNo" onclick="GetCardNo_Click()" runat="server" CssClass="submit" Text="获取卡号" />

</asp:UpdatePanel>

在UpdatePanel里面是不刷新的,但是我要获取一个卡号,现在调用JS方法但是页面不刷新,值就获取不到了,现在有什么办法在UpdatePanel存在的情况下获取这个卡号,后台代码访问也可以

问题补充:

 function ReadCard()
        {
             if(document.getElementById("Chk_State").checked==true)
             {

      var wsrx = new ActiveXObject("WSRX.WSR.1");
                var ret=0;
                var portno=0;
               
                //打开串口
    ret=wsrx.aws_openPort(portno);      //参数:   1: 串行COM1口
             if (ret>=0)
             {
                     wsrx.aws_loadKey_Hex(portno,"FFFFFFFFFFFF",0);
                     ret=wsrx.aws_readBlock_Hex(portno,0);
                     if (ret>=0)
                     {
                           //获取卡号
                   var cardno="";
                            ret=wsrx.aws_getCardNo_String(portno); //获取卡号
                           
                            if (ret>=0)
                            {
                       cardno=wsrx.aws_getCardNo();
                               document.getElementById("txtCardNo").value= String(cardno);                 
                          wsrx.aws_closePort(portno); //关闭串口
                            }
                            else
                            {
                       document.getElementById("txtCardNo").value= "读卡号失败!";
                       wsrx.aws_closePort(portno); //关闭串口
                            }
                         }
                         else
                         {
                            document.getElementById("txtCardNo").value= "请安放机型匹配的IC卡!";
                            wsrx.aws_closePort(portno); //关闭串口
                         }
             }
             else
             {
          document.getElementById("txtCardNo").value= "串口打开失败!";
             }
             window.setTimeout("getCardNo()",1000);
             }
        }

因为这个页面不刷新所以txtCardNo这个控件不会获得值,现在就是要在updatepanel控制的页面里面获取这个卡号

天籁的主页 天籁 | 初学一级 | 园豆:45
提问于:2011-08-22 15:15
< >
分享
所有回答(3)
0

如果你是要点击按钮页面刷新的话很简单的。

UpdatePanel里面有属性可以设置UpdatePanel里面的一个控件进行页面回发的。

 <Triggers>
            <asp:PostBackTrigger ControlID="GetCardNo" />
        </Triggers>

另外AsyncPostBackTrigger是控制updatePanel外的控件点击时不刷新。

梦怀天 | 园豆:222 (菜鸟二级) | 2011-08-22 15:49
。。。
支持(0) 反对(0) Gsanidt | 园豆:205 (菜鸟二级) | 2011-08-22 17:57
0

 txtCardNo 放在updatapanel中,或者,在updatepanel中加一个hiddenfield,后台代码给赋值,js中取些hiddenfield.

==

可能有问题 。

你可能需要注册ReadCard()到启动时执行。

或者,也可以在ajax执行完后执行ReadCard().

function pageLoad() {
ReadCard();
}

tp3cd | 园豆:409 (菜鸟二级) | 2011-08-22 17:57
0
吴金亮 | 园豆:202 (菜鸟二级) | 2014-12-09 13:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册