http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5717|回复: 3

[毕业生提问] C# 后台执行JS问题(飞哥的例子不起作用)

[复制链接]
发表于 2015-3-5 09:37:07 | 显示全部楼层 |阅读模式
20金钱
Winform项目,这是我写的一段代码,在后台用C#执行JS,引入了Jquery,执行时报错:window未定义。
因为引用了Jquery,所以跟飞哥写的那个Demo有些区别
  private void JSTest_Load(object sender, EventArgs e)
        {
            StringBuilder strsql = new StringBuilder();
            strsql.AppendLine("        function CheckIsEmpty(str) {");
            strsql.AppendLine("            if ($.trim(str).length == 0) {");
            strsql.AppendLine("                alert(\"您输入的字符串为空!\");");
            strsql.AppendLine("            }");
            strsql.AppendLine("        }");
            strsql.AppendLine("");
            string scriptStr = strsql.ToString();
            object[] paras = new object[] { "magic" };
            string result = ExecuteScript(scriptStr, "CheckIsEmpty", paras);
            MessageBox.Show(result);
        }
        public static string ExecuteScript(string jsString, string funName, object[] paras)
        {
            try
            {
                //加载Jquery1.7.1.js文件
                StreamReader objReader = new StreamReader("c:\\jquery-1.7.1.js");
                string JqueryString = objReader.ReadToEnd();
                objReader.Close();
                jsString = JqueryString + jsString;
                MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
                scriptControl.UseSafeSubset = true;
                scriptControl.Language = "JScript";
                scriptControl.AddCode(jsString);
                string str = scriptControl.Run(funName, paras).ToString();
                return str;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return "出现错误";
        }



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-3-5 10:43:55 | 显示全部楼层
MSScriptControl就不支持Jquery,怎么操作都不会管用,

我的例子说的是执行JS,从来没说过Jquery吧。你这样用当然不管用,

这应该不能说我的例子不管用吧,而你的没找对地方,你拿我做JS的例子来用Jquery,这是你用法的问题。


回复

使用道具 举报

 楼主| 发表于 2015-3-6 14:36:14 | 显示全部楼层
站长苏飞 发表于 2015-3-5 10:43
MSScriptControl就不支持Jquery,怎么操作都不会管用,

我的例子说的是执行JS,从来没说过Jquery吧。你 ...

嗯,先不讨论我用法的问题了。 单就这个问题而言,如何才能在后台执行JQuery呢?我看框架中也是执行的javascript。
回复

使用道具 举报

发表于 2015-3-6 14:41:33 | 显示全部楼层
不清楚,没听说过C#有直接执行Jquery的类。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 11:28

© 2014-2021

快速回复 返回顶部 返回列表