WinForm应用程序与JavaScript脚本交互取值

 BingWay原创作品,转载请注明作者和出处。

    最近做了一个小东西,用于WinForm应用程序获取网站的用户登录信息(包括用户名、密码、角色),是一款Web网站辅助管理的小应用程序。

 

 1  < script type = " text/javascript " >
 2    function  GetData()//用此方法,会弹出“缺少对象”错误
 3   {
 4      
 5       var  username  =  document.getElementById( " txtuname " ).value ;
 6       var  password  =  document.getElementById( " txtpwd " ).value ;
 7       var  ddlrole  =  document.getElementById( " ddlRole " ); // 得到DropdownListid
 8       var  role  =  ddlrole.options[ddlrole.selectedIndex].text ; // 得到选中文本值
 9       return  [username,password,role];
10   }
11    < / script>

    本想用上面的脚本,此脚本在浏览器中运行一切正常,能得到值,但是跑到WinForm应用程序中,一直报“缺少对象”错误。调试再三未果的情况下,得出一个经典的结论,那就是传说中的人品问题。后来,查出原因,发现是“document.getElementById("txtuname").value”跑到应用程序中就报“缺少对象错误。

// 登录页面
Parameters.username  =  txtuname.Text; // 点击登陆时,赋值
Parameters.pwd  =  txtpwd.Text;
Parameters.role  =  ddlRole.SelectedValue;

 

 //后台代码

public   string  username  =  Parameters.username; // 静态全局变量传值
public   string  password  =  Parameters.pwd;
public   string  role  =  Parameters.role;

 


// 调用后台数据  
< script type = " text/javascript " >
  
         
function  GetData()
         {   
              
var  username  = " <%= username %> " ;
              
var  password  =   " <%= password %> "  ;
              
var  role  = " <%=role%> "  ;
              
return  [username,password,role];
         }
 
< / script>

 

  应用程序中,对脚本的调用:

         object [] Data  =  webBrowser1.Document.InvokeScript( " GetData " ); // 获取脚本数据
         foreach string  info  in  Data ){
              info = info + " , " // 循环取值
        }
        
string [] arr = info.Split( char .Parse( " , " )); 
        Parameters.username  =  arr[ 0 ].ToString();  // 得到登录输入用户名
        Parameters.pwd  =  arr[ 1 ].ToString();  // 得到登录输入密码
        Parameters.role  =  arr[ 2 ].ToString();  // 得到登录选择角色

  以上是我的方法,如果大家有更好的方法,还请不吝赐教!

 

 

转载于:https://www.cnblogs.com/lovexyz123/archive/2010/01/21/1653159.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值