c#生成js文件
2017-08-07 10:20
162 查看
前一段时间比较忙,没来得急写新的东西,哈哈,这次我就写一写上次在项目中在后台生成js文件,以供前端数据的格式化使用
使用目的: 同一个项目组的小伙伴把订单状态都用字典项维护了起来,这样的好处我就不多说了,但是前台页面有展示的时候就要格式化。所以就需要将字典项的值读出来生成js文件,前台来调用并格式化字段,达到展示订单状态的目的。
好了,废话不多说,现在开始上代码了
public async Task<ActionResult> XXX()
{
var dicList = await _DictionarysRepository.GetAllListAsync();//读取字典项List
var listDto = dicList.MapTo<List<DictionarysListDto>>();
StringBuilder sb = new StringBuilder();
sb.Append("(function ($) {");
foreach (var item in listDto)
{
sb.Append(string.Format("abp.{0}={1};", item.Code, item.DictionaryItem.ToJsonString()));
string tempStr = "abp." + item.Code + "Format=function (){ var retStr = $(abp." + item.Code + ").filter(function (state) { return this.ItemCode === state; })[0].ItemName; return retStr;};";
sb.Append(tempStr);
}
sb.Append("})(jQuery);");
return Content(sb.ToString(), "application/x-javascript", Encoding.UTF8);
}
说明:
1、item.Code 就是编号, item.DictionaryItem.ToJsonString() 就是字典项的名称
2、abp." + item.Code + "Format 这一句就是调用的方法名, $(abp." + item.Code + ") 就是调用上一句代码 ,根据传进来的参数,进行遍历,返回对应的itemName
前台调用:
<script src="~/Script/GetMemeberDictionaryScript?v=@(Clock.Now.Ticks)" type="text/javascript"></script>
调用方法:
abp.ProblemTypeFormat( data.record.problemType);
通过这样,就可以将订单状态格式化成对应的说明,且随着字典项的修改而不用作出任何变更。
生成的js文件代码:
是不是很方便呢?
使用目的: 同一个项目组的小伙伴把订单状态都用字典项维护了起来,这样的好处我就不多说了,但是前台页面有展示的时候就要格式化。所以就需要将字典项的值读出来生成js文件,前台来调用并格式化字段,达到展示订单状态的目的。
好了,废话不多说,现在开始上代码了
public async Task<ActionResult> XXX()
{
var dicList = await _DictionarysRepository.GetAllListAsync();//读取字典项List
var listDto = dicList.MapTo<List<DictionarysListDto>>();
StringBuilder sb = new StringBuilder();
sb.Append("(function ($) {");
foreach (var item in listDto)
{
sb.Append(string.Format("abp.{0}={1};", item.Code, item.DictionaryItem.ToJsonString()));
string tempStr = "abp." + item.Code + "Format=function (){ var retStr = $(abp." + item.Code + ").filter(function (state) { return this.ItemCode === state; })[0].ItemName; return retStr;};";
sb.Append(tempStr);
}
sb.Append("})(jQuery);");
return Content(sb.ToString(), "application/x-javascript", Encoding.UTF8);
}
说明:
1、item.Code 就是编号, item.DictionaryItem.ToJsonString() 就是字典项的名称
2、abp." + item.Code + "Format 这一句就是调用的方法名, $(abp." + item.Code + ") 就是调用上一句代码 ,根据传进来的参数,进行遍历,返回对应的itemName
前台调用:
<script src="~/Script/GetMemeberDictionaryScript?v=@(Clock.Now.Ticks)" type="text/javascript"></script>
调用方法:
abp.ProblemTypeFormat( data.record.problemType);
通过这样,就可以将订单状态格式化成对应的说明,且随着字典项的修改而不用作出任何变更。
生成的js文件代码:
(function($) { abp.ProblemType = [{ "Id": 7, "ItemCode": "1", "ItemName": "损坏" }, { "Id": 8, "ItemCode": "2", "ItemName": "丢失" }, { "Id": 9, "ItemCode": "3", "ItemName": "禁运" }]; abp.ProblemTypeFormat = function() { var retStr = $(abp.ProblemType).filter(function(state) { return this.ItemCode === state; })[0].ItemName; return retStr; }; })(jQuery);
是不是很方便呢?
相关文章推荐
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附demo源码下载)
- Asp.net(C#)读取数据库生成JS文件制作首页图片切换效果
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附demo源码下载)
- 在c#中运行js脚本(将js文件生成为.dll文件)
- C# 生成js文件
- c# webform js文件获取客户端控件,后台cs获取前台客户端控件的值,c#和js的交互
- C#中XML文档生成实例:Elevator Scheduler测试文件的生成详解
- C# 调试时源文件与模块生成时的文件不同
- c#自动附加分离备份还原数据库 C#生成安装文件后自动附加数据库的思路跟算法 打包之后,运行之前
- 使用C# 怎么生成.db后缀的文件,并且能够使用sql语言进行读取等 操作
- C#不用ArcEngine,生成Shp文件(四)---------生成.dbf文件
- C#生成CHM文件(应用篇)
- c# webform js文件获取客户端控件,后台cs获取前台客户端控件的值
- 生成静态文件的新闻系统核心代码(asp.net C#)
- C# 生成CHM文件 资料汇总
- 用ASP+FSO生成JS文件
- C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】
- C#使用itextsharp生成PDF文件
- Office文件上传自动生成缩略图-C#开发
- C#中读取xml文件和生成xml文件