JS与Web交互:http://www.docin.com/p-76710976.html
一、WinForm的WebBrowser控件与JS交互数据:
1、C#类内的代码执行JS脚本函数:
给C#类中的WebBrowser控件加载一个包含JS脚本的HTML页面:this.webBrowser1.Url = new System.Uri(Application.StartupPath + "\\kindeditor\\e.html", System.UriKind.Absolute);
C#类内的代码执行JS脚本的setContent(str)函数:webBrowser.Document.InvokeScript("setContent", new object[] { content });//content为C#中自定义的string类型字段。
2、脚本执行C#类内的函数:
WebBrowser.ObjectForScripting:返回或者设置一个对象,可以通过脚本访问包含的代码。譬如:在C#类中设置this.webBrowser.ObjectForScripting = this; 则webBrowser包含的脚本就可以执行this(C#类)类内的函数(如:GetContent())。JS脚本执行this类内的GetContent公共方法:window.external.GetContent();
二、Web与JS交换数据
1、JS($.ajax)向制定的.ashx文件中的方法传输数据。需设置url项为制定文件的方法,如: url: "Service/EasyUiService.ashx?Method=Login"。具体代码如下:
<script type="text/javascript"> $(function() { $("#loginWindow").window({ title: '登陆窗口', width: 290, height: 180, modal: true, shadow: false, closable: false, maximizable: false, minimizable: false, collapsible: false, resizable: false }); $("#btnLogin").click(function() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; loginSys(username, password); }); $("#aboutSys").click(function() { $.messager.alert('关于', 'JQuery EasyUi练习!', 'info'); }); }); //登陆操作 function loginSys(username,password) { $.ajax({ type: "POST", dataType: "json", //cache:true, url: "Service/EasyUiService.ashx?Method=Login", data: { username: username, password: password }, success: function(json) { if (json.Flag[0].Status == 1) { window.location.href = "Index.aspx"; } else { $.messager.alert('错误', '账号或密码错误!', 'error'); } }, error: function() { $.messager.alert('错误', '获取账号信息失败...请联系管理员!', 'error'); } }); } </script>