火车浏览器官方论坛

 找回密码
 立即注册
查看: 33742|回复: 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
回复

使用道具 举报

2

主题

10

帖子

112

积分

注册会员

Rank: 2

积分
112
17#
发表于 2017-8-14 15:05:36 | 只看该作者
万千没看懂呀!!
回复 支持 反对

使用道具 举报

9

主题

57

帖子

380

积分

中级会员

Rank: 3Rank: 3

积分
380
16#
发表于 2016-6-10 04:41:10 | 只看该作者
<code>学习了</code>
回复 支持 反对

使用道具 举报

0

主题

1

帖子

20

积分

新手上路

Rank: 1

积分
20
15#
发表于 2016-5-11 14:19:55 | 只看该作者
楼主 我在写值操作需批量生成文本 “Sunday - 05-01-2016 hh:mm” 其中hh取值0~23;mm取值0~59 应该怎么操作?进一步地,可否遍历所有日期,这样前面的“Sunday”就需要自动生成,有好办法吗?望不吝赐教!
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
14#
发表于 2016-5-5 17:21:52 | 只看该作者
在用javascript代码做判断时  如何用类似{-var.url-} == "aaaa" 这样的字符串判断
回复 支持 反对

使用道具 举报

0

主题

8

帖子

156

积分

注册会员

Rank: 2

积分
156
13#
发表于 2016-4-23 04:38:25 | 只看该作者
补充一个简单易懂的JS时间戳与日期格式转换
var unixTimestamp = new Date(Unix timestamp * 1000) ;
commonTime = unixTimestamp.toLocaleString();
return(commonTime );
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
12#
发表于 2016-4-7 14:44:55 | 只看该作者
最近学这个学的头都炸了
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
11#
发表于 2016-3-3 16:37:30 | 只看该作者
梦一梦 发表于 2016-1-19 09:37
可以,看下这个帖子:http://faq.locoy.com/q-1147.html

多谢! 多谢! 多谢! 多谢! 多谢! 
回复 支持 反对

使用道具 举报

0

主题

19

帖子

250

积分

中级会员

Rank: 3Rank: 3

积分
250
10#
发表于 2016-3-2 13:56:42 | 只看该作者
收藏啦 是必须得有return 语句吧 !!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

32

积分

新手上路

Rank: 1

积分
32
9#
发表于 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;
        }
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 08:46 , Processed in 0.078172 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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