火车浏览器官方论坛

 找回密码
 立即注册
查看: 22765|回复: 16

[图文] JS与C#在脚本中的妙用

[复制链接]

20

主题

49

帖子

257

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
257
发表于 2015-7-3 17:07:00 | 显示全部楼层 |阅读模式
1.list变量转换为文本型变量(C#)

  1. stringDic["文本变量"] = string.Join(",", listDic["List变量"].ToArray());
复制代码
listDic["List变量"]中的 “List变量” 是需要处理的list,stringDic["文本变量"]中的 "文本变量"是处理后的数据保存的变量,这些需要事先在浏览器的变量管理建好。","是连接 list中的值的连接符。

2.计数器变量转换为文本型变量(C#)

  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.         {
  3. stringDic["文本"]=Convert.ToString(intDic["计数器"]);
  4.         }
复制代码

3.JS转换文本变量的大小写

  1. var a='{-var.a-}'.toLowerCase();
  2. a;
复制代码

4.C#实现字符反转排序

  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.         {
  3.              char[] cs = stringDic["文本"].ToCharArray();
  4.             char temp;
  5.             int len = cs.Length;
  6.             for (int i = 0; i < cs.Length / 2 ; i++)
  7.             {
  8.                 temp = cs[i];
  9.                 cs[i] = cs[len - 1 - i];
  10.                 cs[len - 1 - i] = temp;
  11.             }
  12.             stringDic["文本_2"] = new string(cs);
  13.                     }
复制代码

5.使用C#代码保存使用Base64字符显示的图片
  1.         /// <summary>
  2.         /// 网页中的样式为    <img class="img" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4xxx";
  3.         /// 使用浏览器提取到src的内容,比如本次将结果存在“图片”字符串变量中,然后使用C#代码进行处理
  4.         /// </summary>
  5.         /// <param name="stringDic"></param>
  6.         /// <param name="listDic"></param>
  7.         /// <param name="intDic"></param>
  8.         public static void Execute(Dictionary<string, string> stringDic, Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  9.         {
  10.             string base64 = stringDic["图片"];
  11.             string[] arr = base64.Split(',');
  12.             if (arr.Length != 2) throw new System.Exception("错误的base64图片格式");
  13.             base64 = arr[1];
  14.             byte[] bytes = Convert.FromBase64String(base64);
  15.             string savedir = AppDomain.CurrentDomain.BaseDirectory + "base64img//";
  16.             if (!System.IO.Directory.Exists(savedir)) System.IO.Directory.CreateDirectory(savedir);
  17.             System.IO.File.WriteAllBytes(savedir + System.IO.Path.GetRandomFileName() + ".jpg", bytes);//随机文件名保存
  18.         }
复制代码

6.JS点击下一页

类似于这样的POST页面,可直接运行JS代码打开下一页

  1. __doPostBack('ctl00$Content$GridView1','Page$3')
复制代码

7.JS实现变量赋值的两种方法
  方法一:

  1. function aa(){
  2. var a=1234;
  3. return a;
  4. }
  5. aa();
复制代码
方法二:

  1. var a=54321;
  2. a;
复制代码

8.C#获取一随机数

  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.      {
  3. Random ran=new Random();
  4. intDic["随机数字"]=ran.Next(1,8);

  5.         }
复制代码
注:这段代码返回的是1到8中的一个随机数

9.JS 实现时间戳的转换

  1. function getLocalTime(nS) {     
  2.        return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");      
  3.     }     
  4.     getLocalTime({-var.时间戳-});
复制代码

10.C#截取list变量中前N条数据
比如说一个list有6条数据,我只需要前面4条。这个则可以用C#来实现

  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.         {
  3. List<string> list = new List<string>();
  4. list=listDic["测试"];
  5. listDic["测试"]=list.Take(4).ToList<string>();
  6.         }
复制代码

11.使用C#实现list乱序排布
  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.         {
  3. var rnd = new Random();
  4. listDic["变量名"]= listDic["变量名"].OrderBy(item => rnd.Next()).ToList();
  5.         }
复制代码

12.用C#获取当前时间


  1. public static void Execute(Dictionary<string, string> stringDic,Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
  2.         {
  3. stringDic["当前时间"]=DateTime.Now.ToString();
  4.         }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

1

帖子

38

积分

新手上路

Rank: 1

积分
38
发表于 2015-7-4 07:06:54 | 显示全部楼层
这么好的东西今天才发现,
回复 支持 反对

使用道具 举报

0

主题

13

帖子

194

积分

新手上路

Rank: 1

积分
194
发表于 2015-7-4 09:57:49 | 显示全部楼层

这么好的东西今天才发现
回复 支持 反对

使用道具 举报

0

主题

8

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2015-7-23 18:27:50 | 显示全部楼层
这是必须收藏的帖子哦~
回复 支持 反对

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2015-10-3 16:51:24 | 显示全部楼层
不懂JS也不懂C#怎么办?
回复 支持 反对

使用道具 举报

1

主题

6

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2015-10-6 20:27:05 | 显示全部楼层
非常不错,有点编程基础。
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
发表于 2016-1-18 15:51:30 | 显示全部楼层
list变量转换为文本型变量  可以用 js 实现吗
回复 支持 反对

使用道具 举报

73

主题

148

帖子

1608

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1608
发表于 2016-1-19 09:37:57 | 显示全部楼层
acmilan 发表于 2016-1-18 15:51
list变量转换为文本型变量  可以用 js 实现吗

可以,看下这个帖子:http://faq.locoy.com/q-1147.html
回复 支持 反对

使用道具 举报

0

主题

1

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2016-2-16 11:13:48 | 显示全部楼层
c#代码将格式时间与时间戳转换:
// 时间戳转为C#格式时间
        private DateTime StampToDateTime(string timeStamp)
        {
            DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
            long lTime = long.Parse(timeStamp + "0000000");
            TimeSpan toNow = new TimeSpan(lTime);
            
            return dateTimeStart.Add(toNow);
        }

        // DateTime时间格式转换为Unix时间戳格式
        private int DateTimeToStamp(System.DateTime time)
        {
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            return (int)(time - startTime).TotalSeconds;
        }
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
发表于 2016-3-2 13:56:42 | 显示全部楼层
收藏啦 是必须得有return 语句吧 !!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火车浏览器  

GMT+8, 2022-5-20 12:00 , Processed in 0.090075 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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