我有一个文本框和按钮,如下所示:
<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)
但是当我这样做时,没有任何反应 - 没有值从文本框复制到剪贴板......我在这里做错了什么?
更多信息:
successMessage() 被调用并显示在浏览器中.#在元素ID之前添加不能解决问题.我有一个 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) 我正在尝试为.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库实现它,但我根本不喜欢它,我有两个计划的任务正在运行,而其中一个在计划的时间内根本不会运行。
我有一个项目列表,通过它我可以使用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 <>)...
我编写了以下代码,它基本上对我的服务器执行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)
所以我的问题是:
我想编写一个for循环,它将遍历现有列表,并在每次迭代时从该列表中取出20个项目.
所以像这样:
我写过这样的话:
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项......如何我可以这样做吗?
我想创建一个函数,使我能够始终基于这两个输入参数生成唯一值:
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字符串吗?
我认为日期时间永远不会相同(这几乎是不可能的),因此这应该能够始终生成唯一的值?
我试图像这样结合我的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请求,同时确保最终用户在这样做时不会感觉到任何"屏幕"冻结......
我的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的那些;
所以场景看起来像这样:
从相邻表UserTransactions中的两个重复项中删除FK记录SID
然后执行DTV&Tim写的稍微更改的查询,只删除那些重复且设置了InQueue = 0的记录;
我有两个大的条目列表,它们的类如下所示(两个列表的类型相同):
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# ×8
asp.net ×4
asp.net-mvc ×4
c#-4.0 ×3
list ×2
asynchronous ×1
clipboard ×1
copy ×1
csv ×1
datetime ×1
distinct ×1
duplicates ×1
file ×1
for-loop ×1
hash ×1
input ×1
javascript ×1
jquery ×1
json ×1
linq ×1
performance ×1
plinq ×1
repeat ×1
sql ×1
sql-delete ×1
sql-server ×1
winforms ×1