小编Use*_*987的帖子

使用jQuery/JavaScript复制到剪贴板文本框值

我有一个文本框和按钮,如下所示:

     <div class="col-xs-11" style="padding:20px 0 ">
     <input type="text" class="form-control txtKeywords" id="txtKeyw" style="margin-bottom:10px; height:45px;" maxlength="80" placeholder="Click on keywords to combine your title">
   <button type="submit" class="btn btn-space btn-success btn-shade4 btn-lg copyToClipboard">
    <i class="icon icon-left s7-mouse"></i> Copy to Clipboard
     /button>
Run Code Online (Sandbox Code Playgroud)

当用户点击按钮复制到剪贴板时,我想将文本框的内容复制到剪贴板中,如下所示:

$(document).on("click", ".copyToClipboard", function () {
    copyToClipboard("txtKeyw");
    successMessage();
});
Run Code Online (Sandbox Code Playgroud)

其中copyToClipboard函数的定义是:

 function copyToClipboard(element) {
            var $temp = $("<input>");
            $("body").append($temp);
            $temp.val($(element).text()).select();
            document.execCommand("copy");
            $temp.remove();
        }
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,没有任何反应 - 没有值从文本框复制到剪贴板......我在这里做错了什么?

更多信息:

  • 这种情况发生在Chrome 59 64位和Firefox 54 32位中.
  • successMessage() 被调用并显示在浏览器中.
  • #在元素ID之前添加不能解决问题.

javascript clipboard jquery copy input

4
推荐指数
1
解决办法
9409
查看次数

从多个 CSV 文件中仅读取特定列

我有一个 CSV 文件,基本上如下所示:

TransactionID         ProfileID       Date           // more columns here...
somevalue             123123123      somedate
somevalue             123123123      somedate              
somevalue             123123123      somedate
somevalue             123123123      somedate
somevalue             123123123      somedate
Run Code Online (Sandbox Code Playgroud)

我只想从 CSV 文件中的所有这些列中提取 ProfileID 和 Date 的特定列,方法是将其映射到这样的现有类:

public class MyMappedCSVFile
{
  public string ProfileID { get; set; } 
  public string Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

还是将其存储在 Dictionary 集合中?

我试过这样的事情:

   public static List<string> ReadInCSV(string absolutePath)
        {
            List<string> result = new List<string>();
            string value;
            using (TextReader fileReader = File.OpenText(absolutePath))
            {
                var csv = new CsvReader(fileReader);
                csv.Configuration.HasHeaderRecord …
Run Code Online (Sandbox Code Playgroud)

c# csv asp.net asp.net-mvc file

4
推荐指数
1
解决办法
2万
查看次数

在C#.NET MVC应用程序中执行计划的任务

我正在尝试为.NET MVC应用程序实现一种逻辑,在该逻辑上,我将在以下基础上触发应用程序中的计划任务:

First scheduled task to run from 00 am to 1 am in the morning
Second scheduled task to run from 1:10 am to 08:00 am in the morning 
Third scheduled task to run from 8:15 am to 11:15 pm every 1 hour
Run Code Online (Sandbox Code Playgroud)

一年365天每天都会重复一次...

我可以使用.NET或外部库中的哪种机制以最少的代码来实现最简单的方法?

我试图用Quartz.NET库实现它,但我根本不喜欢它,我有两个计划的任务正在运行,而其中一个在计划的时间内根本不会运行。

c# asp.net asp.net-mvc scheduled-tasks repeat

3
推荐指数
2
解决办法
1万
查看次数

使用PLINQ时创建线程安全变量

我有一个项目列表,通过它我可以使用PLINQ语句循环增加特定用户的总收入,如下所示:

 double TotalEarnings = 0.0d;
_SortedList.AsParallel().WithDegreeOfParallelism(5).ForAll(item => {
 TotalEarnings += Convert.ToDouble(item.SaleEarning);
 });
Run Code Online (Sandbox Code Playgroud)

通过这样使用它,我总是得到一个不同的价值.我相信这是因为声明的变量不是线程安全的.我怎样才能解决这个问题?

PS _SortedList是一个通用集合(List <>)...

c# asp.net asp.net-mvc multithreading thread-safety

3
推荐指数
1
解决办法
127
查看次数

C#从函数中返回不同的类型

我编写了以下代码,它基本上对我的服务器执行JSON请求:

   var client = new RestClient("mysite.com");
            var request = new RestRequest(Method.POST);
            request.RequestFormat = DataFormat.Json;
            request.AddParameter("application/x-www-form-urlencoded", /*params here...*/ ,ParameterType.RequestBody);
            return JsonConvert.DeserializeObject<MyCustomType>(client.Execute(request).Content);
Run Code Online (Sandbox Code Playgroud)

请注意最后一行代码:

return JsonConvert.DeserializeObject<MyCustomType>(client.Execute(request).Content);
Run Code Online (Sandbox Code Playgroud)

我将返回的JSON从服务器反序列化到我的应用程序中以前的类结构.

现在问题是服务器可以返回错误响应或成功响应,并且对于每种情况我都需要不同的类结构,以便我可以将它们映射到C#类对象...

所以我认为这样的事情会做:

public object PerformMyAwesomeRequest(string myToken) 
{
 var response =client.Execute(request).Content;
 var statusCode = FetchStatusCode(response);
if(statusCode == 0)//signaling the response returned error
{
return JsonConvert.DeserializeObject<ErrorMessageCustomType>(response);
}
else{
return JsonConvert.DeserializeObject<MyCustomType>(response);
}
}
Run Code Online (Sandbox Code Playgroud)

所以这样它不会给我任何错误......但是这里的问题是这些对象现在只存在于运行时,我无法确定我的.NET MVC Action中返回的类型服务器如下所示:

public ActionResult SomeActon(){
var response = PerformMyAwesomeRequest("mytokenhere...");
//response object is assigned a corresponding type only at runtime...
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  • 我可以从对服务器执行http请求的函数返回什么类型,以便我可以直接在代码中知道从函数返回的类型,而不仅仅是在运行时?

c# asp.net asp.net-mvc json asp.net-mvc-5

3
推荐指数
1
解决办法
211
查看次数

对于每次跳过20个项目的循环

我想编写一个for循环,它将遍历现有列表,并在每次迭代时从该列表中取出20个项目.

所以像这样:

  • 如果过滤列表包含让我们说68项......
  • 前3个循环每个需要20次,然后在最后的第4次迭代中,它将占用列表中的8个项目中的其余项目...

我写过这样的话:

var allResponses= new List<string>();
for (int i = 0; i < filteredList.Count(); i++)
{
    allResponses.Add(GetResponse(filteredList.Take(20).ToList()));
}
Run Code Online (Sandbox Code Playgroud)

假设filteredList是包含68个项目的列表.我认为这不是一种方法,因为我不想循环到集合大小,但不是68次,它应该是4次,每次我从列表中取出20项......如何我可以这样做吗?

c# for-loop list c#-4.0

3
推荐指数
1
解决办法
901
查看次数

根据日期时间和字符串参数生成唯一的哈希值

我想创建一个函数,使我能够始终基于这两个输入参数生成唯一值:

public string ReturnUniqueValue(DateTime date, string ID)
{
 // Logic here
}
Run Code Online (Sandbox Code Playgroud)

日期参数的格式如下:

2017-08-14 11:55:32.00
Run Code Online (Sandbox Code Playgroud)

而ID的格式如下:

112452573848
Run Code Online (Sandbox Code Playgroud)

我想生成一个长度为 40 个字符且从不重复的唯一哈希值。

这可以使用日期时间参数+唯一的ID字符串吗?

我认为日期时间永远不会相同(这几乎是不可能的),因此这应该能够始终生成唯一的值?

c# hash datetime

3
推荐指数
1
解决办法
9517
查看次数

将PLINQ与Async方法结合使用

我试图像这样结合我的PLINQ语句:

Enumerable.Range(0, _sortedList.Count()).AsParallel().WithDegreeOfParallelism(10)
          .Select(i =>  GetTransactionDetails(_sortedList[i].TransactionID))
          .ToList();
Run Code Online (Sandbox Code Playgroud)

使用这样的异步方法:

 private async void GetTransactionDetails(string _trID)
 {
      await Task.Run(() =>
      {
      });
 }
Run Code Online (Sandbox Code Playgroud)

这样我就可以在这里添加一个await运算符:

 Enumerable.Range(0, _sortedList.Count()).AsParallel().WithDegreeOfParallelism(10)
           .Select(i => await GetTransactionDetails(_sortedList[i].TransactionID))
           .ToList();
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

PS这样我可以同时发出5-10个HTTP请求,同时确保最终用户在这样做时不会感觉到任何"屏幕"冻结......

c# asynchronous plinq winforms c#-4.0

2
推荐指数
1
解决办法
2404
查看次数

从SQL Server表中删除重复项

我的SQL Server表中有一个情况,我有许多重复的记录,如下所示:

 SID    Username                                InQueue
------------------------------------------------------------------    
 162    peeeer2  492    2017-01-18 12:20:21.820   0    354
2791    peeeer2  460    2017-01-11 00:00:00.000   1    NULL
Run Code Online (Sandbox Code Playgroud)

这里不需要的记录是我设置的peeeer2用户InQueue = true.我需要删除InQueue列设置为1的所有重复项,另一个标准是用户名实际上是重复的...

表名是SearchedUsernames:

delete from SearchedUsernames
where Username ??
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

编辑:

@TimSchmelter ty这么多,这就像一个魅力.但是我仍然收到错误.我需要首先删除此表的相邻FK.例如,当我在邻居表中有一个名为UserTransactions的相应FK记录时,如下所示:

 ID      SID                              
----------------  
 162    162
2791    2791    
Run Code Online (Sandbox Code Playgroud)

我需要首先删除此邻居表中的所有记录,然后使用您编写的查询删除重复项.但是,这次我只想删除那些有重复记录且设置InQueue = 0的那些;

所以场景看起来像这样:

  1. 从相邻表UserTransactions中的两个重复项中删除FK记录SID

  2. 然后执行DTV&Tim写的稍微更改的查询,只删除那些重复且设置了InQueue = 0的记录;

sql sql-server distinct duplicates sql-delete

2
推荐指数
1
解决办法
157
查看次数

C#通过特定属性比较两个大型项目列表

我有两个大的条目列表,它们的类如下所示(两个列表的类型相同):

public class Items
{
 public string ItemID { get; set; }
 public int QuantitySold { get; set; }
}


var oldList = new List<Items>(); // oldList

var newList = new List<Items>(); // new list
Run Code Online (Sandbox Code Playgroud)

旧列表包含来自数据库的项目,新列表代表从API获取的项目;

两个列表都可能非常大,每个列表中包含10000+个项目(共20000个)

我需要将newList中的项目与“ oldList”中的项目进行比较,看看哪些项目具有相同的itemID值,具有不同的“ QuantitySold”值,哪些具有不同的“ QuantitySold”值应存储在名为“ differentQuantityItems”。

我可以简单地做一遍foreach列表并比较值,但是由于两个列表都很大,因此使用double foreach循环的性能非常糟糕,我做不到...

有人可以帮我这个忙吗?

@YamamotoTetsua我已经在使用IEqualityComparer来获得期望的结果,但是它没有提供我期望的结果。这就是为什么...我有第一个IEqualityComparer,看起来像这样:

 public class MissingItemComparer : IEqualityComparer<SearchedUserItems>
    {
        public static readonly IEqualityComparer<SearchedUserItems> Instance = new MissingItemComparer();

        public bool Equals(SearchedUserItems x, SearchedUserItems y)
        {
            return x.ItemID == y.ItemID;
        }

        public int GetHashCode(SearchedUserItems x)
        {
            return x.ItemID.GetHashCode();
        } …
Run Code Online (Sandbox Code Playgroud)

c# linq performance list c#-4.0

2
推荐指数
1
解决办法
109
查看次数