火车浏览器官方论坛

标题: JS与C#在脚本中的妙用 [打印本页]

作者: indulge3    时间: 2015-7-3 17:07
标题: JS与C#在脚本中的妙用
1.list变量转换为文本型变量(C#)
[attach]263[/attach]
  1. stringDic["文本变量"] = string.Join(",", listDic["List变量"].ToArray());
复制代码
listDic["List变量"]中的 “List变量” 是需要处理的list,stringDic["文本变量"]中的 "文本变量"是处理后的数据保存的变量,这些需要事先在浏览器的变量管理建好。","是连接 list中的值的连接符。

2.计数器变量转换为文本型变量(C#)
[attach]264[/attach]
  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转换文本变量的大小写
[attach]265[/attach]
  1. var a='{-var.a-}'.toLowerCase();
  2. a;
复制代码

4.C#实现字符反转排序
[attach]266[/attach]
  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点击下一页
[attach]267[/attach]
类似于这样的POST页面,可直接运行JS代码打开下一页
[attach]268[/attach]
  1. __doPostBack('ctl00$Content$GridView1','Page$3')
复制代码

7.JS实现变量赋值的两种方法
  方法一:
[attach]272[/attach]
  1. function aa(){
  2. var a=1234;
  3. return a;
  4. }
  5. aa();
复制代码
方法二:
[attach]273[/attach]
  1. var a=54321;
  2. a;
复制代码

8.C#获取一随机数
[attach]274[/attach]
  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 实现时间戳的转换
[attach]278[/attach]
  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#来实现
[attach]288[/attach]
  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#获取当前时间
[attach]304[/attach]

  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.         }
复制代码





作者: haifding    时间: 2015-7-4 07:06
这么好的东西今天才发现,
作者: 星雨    时间: 2015-7-4 09:57

这么好的东西今天才发现
作者: win-ever    时间: 2015-7-23 18:27
这是必须收藏的帖子哦~
作者: 130007732    时间: 2015-10-3 16:51
不懂JS也不懂C#怎么办?
作者: softnm    时间: 2015-10-6 20:27
非常不错,有点编程基础。
作者: acmilan    时间: 2016-1-18 15:51
list变量转换为文本型变量  可以用 js 实现吗
作者: 梦一梦    时间: 2016-1-19 09:37
acmilan 发表于 2016-1-18 15:51
list变量转换为文本型变量  可以用 js 实现吗

可以,看下这个帖子:http://faq.locoy.com/q-1147.html
作者: datafinder    时间: 2016-2-16 11:13
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;
        }
作者: acmilan    时间: 2016-3-2 13:56
收藏啦 是必须得有return 语句吧 !!
作者: acmilan    时间: 2016-3-3 16:37
梦一梦 发表于 2016-1-19 09:37
可以,看下这个帖子:http://faq.locoy.com/q-1147.html

多谢! 多谢! 多谢! 多谢! 多谢! 
作者: wjh549628    时间: 2016-4-7 14:44
最近学这个学的头都炸了

作者: win-ever    时间: 2016-4-23 04:38
补充一个简单易懂的JS时间戳与日期格式转换
var unixTimestamp = new Date(Unix timestamp * 1000) ;
commonTime = unixTimestamp.toLocaleString();
return(commonTime );
作者: acmilan    时间: 2016-5-5 17:21
在用javascript代码做判断时  如何用类似{-var.url-} == "aaaa" 这样的字符串判断
作者: zhiweibuaa    时间: 2016-5-11 14:19
楼主 我在写值操作需批量生成文本 “Sunday - 05-01-2016 hh:mm” 其中hh取值0~23;mm取值0~59 应该怎么操作?进一步地,可否遍历所有日期,这样前面的“Sunday”就需要自动生成,有好办法吗?望不吝赐教!

作者: ShineGoo    时间: 2016-6-10 04:41
<code>学习了</code>
作者: 左轮    时间: 2017-8-14 15:05
万千没看懂呀!!




欢迎光临 火车浏览器官方论坛 (http://bbs.locoyposter.com/) Powered by Discuz! X3.2