c#生成js文件
来源:互联网 发布:xc9536 编程 编辑:程序博客网 时间:2024/05/14 21:46
前一段时间比较忙,没来得急写新的东西,哈哈,这次我就写一写上次在项目中在后台生成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);
是不是很方便呢?
阅读全文
0 0
- c#生成js文件
- c#生成pdf文件
- c# 生成 xml 文件
- c#生成excel文件
- C#生成单个文件
- c#生成KML文件
- C#生成XML文件
- C#生成XML文件
- C#生成DLL文件
- C#生成DLL文件
- C#生成plist文件
- C#生成CHM文件
- C#生成DLL文件
- C#生成DLL文件
- C#生成DLL文件
- C# 生成xml文件
- C# 生成txt文件
- C# 生成语音文件
- Intellij IDEA 15中文输入框不跟随怎么办?
- hdfs启动后datanode闪挂
- Android初始化过程
- 【代码笔记】iOS-4个可以单独点击的button
- 最精准的view,canvas,surface之间的关系
- c#生成js文件
- Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
- Vim手册
- NDK的基础教程 三 传递数组
- printk
- UltraGrid宽度自适应
- Parameter 'username' not found. Available parameters are [0, 1, param1, para
- Qt删除layout的控件
- Android View关系图