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写文件的方法
- ASP.NET使用JavaScriptSerializer实现序列化与反序列化
- ASP.NET生成二维码
- ASP.NET中XML和JSON互转
- ASP.NET文件打包压缩下载
- asp.net自定义分页控件
- asp.net 消息队列
- asp.net中Session的操作
- asp.net使用swfupload上传
- Asp.net导出Excel乱码
- ASP.NET将WORD、PDF、PPT转为图片
- ASP.NET中异常处理的注意事项
- ASP.NET网站的404错误页面的设置
- ASP.NET给图片加文字水印
- ASP.NET 生成条形码
- ASP.NET Web API是什么
- 古人十句 戒骄 名言,醍醐灌顶,受益匪浅(古人十句戒骄名言)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
热门推荐
- 织梦cms申请代码怎么填(织梦CMS常用的几种字段判断输出实例详解)
- elementui下拉框联动(Element树形控件整合带图标的下拉菜单tree+dropdown+input)
- jquery 实现对联广告
- web服务器增加性能(Web 服务器性能与站点访问性能优化)
- css3边框阴影的属性(css3 border-radius属性详解)
- echarts可视化(swiper+echarts实现多个仪表盘左右滚动效果)
- python下载后依然打不开文件(解决python打不开文件文件不存在的问题)
- parseInt()和parseFloat()
- css3所有动画(CSS3常见动画的实现方式)
- linuxrabbitmq安装和使用教程(用docker部署RabbitMQ环境的详细介绍)