ASP.NET中使用CodeDomProvider调用js文件中的js方法
类别:编程学习 浏览量:378
时间:2016-4-16 ASP.NET中使用CodeDomProvider调用js文件中的js方法
ASP.NET中使用CodeDomProvider调用js文件中的js方法一、新建 test.js文件
public static function getJsResponse(str) {
var $t = "2";
var $u = new Date();
var $v = new Date($u.getTime() + 315360000000);
var $w = new Date($u.getTime());
if ($t.length < 10) {
var $x = $u.getTime().toString();
for (var i = 2; i <= (32 - $x.length); i++) $t += Math.floor(Math.random() * 16.0).toString(16);
$t += $x;
};
$t = encodeURIComponent($t);
return "WT_FPC=id=" + $t + ":lv=" + $u.getTime().toString() + ":ss=" + str ;
}
二、动态编译、执行Js代码的方法
public static class JsHelper
{
/// <summary>
/// 执行JS方法
/// </summary>
/// <param name="methodName">方法名</param>
/// <param name="para">参数</param>
/// <param name="filePath">js文件路径</param>
/// <returns></returns>
public static string GetJsMethd(string methodName, object[] para,string filePath)
{
string path = AppDomain.CurrentDomain.BaseDirectory + filePath;
string str2 = System.IO.File.ReadAllText(path);
StringBuilder sb = new StringBuilder();
sb.Append("package aa{");
sb.Append(" public class JScript {");
sb.Append(str2);
sb.Append("}}");
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateInMemory = true;
CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider();
CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString());
//如果JS有错,这里会报 找不到某个 .dll 的错误,我们可以利用下面的语句捕获到具体的错误信息。
if (results.Errors.Count > 0)
{
Console.WriteLine("Errors:");
foreach (CompilerError ce in results.Errors)
{
string errorMessage=ce.ToString();
}
}
Assembly assembly = results.CompiledAssembly;
Type _evaluateType = assembly.GetType("aa.JScript");
object obj = _evaluateType.InvokeMember(methodName, BindingFlags.InvokeMethod,
null, null, para);
return obj.ToString();
}
}
三、调用
public string Main()
{
object[] para = new object[] { "学习也休闲" };
string wt_fpc = JsHelper.GetJsMethd("getJsResponse", para, @"Scripts\\\\test.js");
return wt_fpc;
}
结果如图
标签:ASP.NET
您可能感兴趣
- ASP.NET中Partial Class部分类
- ASP.NET中() => 的含义
- ASP.NET函数返回多个值的几种方法
- ASP.NET SignalR是什么
- docker 部署netcore(关于Jenkins + Docker + ASP.NET Core自动化部署的问题避免踩坑)
- ASP.NET文件打包压缩下载
- Asp.Net中索引器的用法
- asp.net 消息队列
- ASP.NET写文件的方法
- ASP.NET中获取匿名对象的属性值
- asp.net使用swfupload上传
- ASP.NET匿名类型var
- ASP.NET私有构造函数作用
- ASP.NET参数化模糊查询
- ASP.NET服务器端执行脚本的通用方法
- ASP.NET 生成条形码
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
热门推荐
- sql的select语句用法(SQL update select结合语句详解及应用)
- sql性能优化案例(SQL性能优化之定位网络性能问题的方法DEMO)
- css display属性
- laravel命令大全详解(Laravel框架中缓存的使用方法分析)
- nginx反向代理spring boot(Nginx+SpringBoot实现负载均衡的示例)
- python发送微信消息脚本(python实现给微信指定好友定时发送消息)
- 常用SQL查询语句
- h5适配横屏(详解移动端h5页面根据屏幕适配的四种方案)
- 检查安装apache(Apache下MP3 防盗链的解决办法)
- innodb和myisam(Mysql InnoDB和MyISAM区别原理解析)