小编leo*_*ora的帖子

我该如何排序,但将零置于底部?

我有一个具有属性Rank的对象列表.这是一个整数.

我希望按照我的观点排名,但是当我这样做时:

  myObjects = myObjects.Orderby(r=>r.Rank);
Run Code Online (Sandbox Code Playgroud)

我得到了所有的零(意思是这些没有设置在顶部)

我想按1 - > n排序,但是零位于列表的底部.

我希望它尽可能高效,因为列表很长

c# linq sorting

6
推荐指数
2
解决办法
487
查看次数

在C#中,如何确定列表是否包含其他列表中的任何项目?

我有一个清单:

var list = new List<string>();
list.Add("Dog");
list.Add("Cat");
list.Add("Bird");

var list2 = new List<string>();
list2.Add("Dog");
list2.Add("Cat"):

if (list.ContainsAny(list2))
{
      Console.Write("At least one of the items in List2 exists in list1)"
}
Run Code Online (Sandbox Code Playgroud)

c# linq collections

6
推荐指数
1
解决办法
4118
查看次数

使用jquery-ui droppable时,如何在丢弃项目后从可放置区域中删除项目?

我有一个html页面,其中包含一些可拖动的图像和一组可放置的div.使用下面的代码一切正常,但我无法弄清楚如何在丢弃后从可放置区域移除一个项目.(让我们说用户改变主意.)

我想要一些行为,如果您将项目拖出可放置区域,它将从可放置区域中删除.我预计这是开箱即用的行为,但显然不是.

$(".draggable").draggable({ cursor: "move", revert: "invalid", helper: "clone" });

$(".droppable").droppable({
    hoverClass: "ui-state-active",
            drop: function (ev, ui) {
                $(this).append($(ui.draggable).clone());
            }
});
Run Code Online (Sandbox Code Playgroud)

反正有没有支持这种行为,所以我可以从droppable中删除项目(我是否需要使它成为一个可拖动的东西?对于我认为这样一个简单而基本的功能,这看起来很奇怪和过度.

jquery jquery-ui jquery-ui-droppable

6
推荐指数
1
解决办法
9478
查看次数

使用closedXML C#库,如何在尝试保存时找出导致此错误的数据

我有一个使用ClosedXML导出到Excel的C#应用​​程序.它工作正常但只是遇到了一个问题,当我点击:

  var ms = new MemoryStream();
  workbook.SaveAs(ms);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

' ', hexadecimal value 0x0B, is an invalid character
Run Code Online (Sandbox Code Playgroud)

它肯定是数据相关的,因为我看它确实工作正常,但其他数据导致这个问题.

我怎样才能找出造成问题的角色?此外,一旦我弄清楚了,找到这个角色在我的数据中的哪个位置的最佳方法是什么?

c# excel closedxml

6
推荐指数
2
解决办法
5871
查看次数

在asp.net-mvc中引用特定于PartialView的javascript的最佳实践是什么?

我有一个asp.nset-mvc网站,我有一个部分视图,存在于许多不同的视图中.

还有一个.js文件与该部分视图使用的功能相关联.

现在我在每个父视图中包含该js文件,该视图在head部分中包含此局部视图.

我现在想通过从每个父视图中删除对javascript文件的引用并将该引用放在局部视图的主体中来更容易维护.(所以它刚刚在一个地方列出)

有谁看到这种变化有任何不利因素?这是javascript的推荐做法,只能通过特定的局部视图来利用吗?

javascript asp.net-mvc jquery

6
推荐指数
1
解决办法
1409
查看次数

在构建html时,在javascript中支持撇号的正确方法是什么?

我有以下代码:

var name = "Joe O'Neal";

var row= [];
row.push(
  "<td><input type='hidden' name='milestones[" + id + "].Name' 
   value='" + name + "' class='currentRowName'  />
    <span class='currentRowNameText'>" + name + "</span></td>")
Run Code Online (Sandbox Code Playgroud)

但问题是我有一个名称变量中有撇号的情况,所以它导致了这个问题:

  value='" + name + "'
Run Code Online (Sandbox Code Playgroud)

写这个的正确方法是什么,以避免与撇号发生冲突?在C#中,我会做类似的事情

  value=\"" + name + "\"
Run Code Online (Sandbox Code Playgroud)

但这似乎不适用于JavaScript

javascript jquery apostrophe double-quotes

6
推荐指数
1
解决办法
7756
查看次数

使用jquery ui draggable,是否可以在垂直与水平方向上具有不同的滚动敏感度?

我正在使用jquery ui draggable,我意识到当我向下拖动时(相对于左/右),我希望滚动灵敏度更小.是否可以为垂直拖动和水平拖动设置不同的设置?

这是我目前的代码

   $(".myDraggable").draggable(
            {
                stack: ".myDraggable",
                scroll: true,
                scrollSensitivity: 250,
                scrollSpeed: 40,
                revert: function (event, ui) {
                    $(this).data("uiDraggable").originalPosition = {
                        top: 0,
                        left: 0
                    };
                    return !event;
                }
            }
        );
Run Code Online (Sandbox Code Playgroud)

jquery scroll jquery-ui draggable jquery-ui-draggable

6
推荐指数
1
解决办法
1008
查看次数

在jquery UI对话框上使用select2(v 4.0)时,如何在使用远程数据源时使allowClear选项工作?

我正在使用select2下拉列表并且刚刚升级到版本4. 当你有一个远程数据源并且select2位于jquery UI对话框上时,一个看起来破坏的功能(或者我做错了)是allowClear选项

如果您的数据源是本地的(没有ajax)或者没有涉及jquery UI对话框,但是当我在jquery UI对话框上尝试使用远程数据源时,我会看到问题.

有趣的是,在设置allowClear = true时,在我搜索并选择一个项目后,"X" DOES会显示在下拉框的右侧,但是当我单击它时,所有select2代码都会运行,但之前选中的是价值不会被删除.我已经调试了select2.js代码,所有似乎应该被触发的代码(handleClear等)似乎确实正在触发.

在本地示例上进行测试时,我发现这行代码实际上是删除了值:

 this.$element.val(this.placeholder.id).trigger('change');
Run Code Online (Sandbox Code Playgroud)

当我在远程数据源上调试相同的代码时,当该行代码触发时,似乎没有任何改变.

从谷歌搜索,我看到唯一相关的问题,如果你没有指定占位符文本(这里的示例问题),但在我的情况下,(如下所示)我指定这个

以下是一些截图:

在此输入图像描述

在此输入图像描述

这是我下面的代码设置这个select2下拉列表:

asp.net-MVC查看:

 <% = Html.DropDownList("MyDropdownId", Model.DropdownItems, new {@id = "MyDropdown"}) %><br/><br/>
Run Code Online (Sandbox Code Playgroud)

这是我的javascript:

$("#MyDropdown").select2({
    theme: "classic",
    width: "280px",
    allowClear: true,
    ajax: {
        url: "/MyController/Search",
        dataType: 'json',
        delay: 300,
        data: function (params) {
            return { q: params.term };
        },
        processResults: function (data, params) {
            return { results: data };
        },
        cache: false
    },
    escapeMarkup: function (markup) { return markup; },
    minimumInputLength: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html-select jquery-ui-dialog jquery-select2

6
推荐指数
1
解决办法
1001
查看次数

在Outlook C#VSTO中,如何在给定EntryId等的情况下获得对appointmentItem的引用

我有一个Outlook VSTO插件,我可以使用以下代码检索日历约会列表:

    private Items GetAppointmentsInRange(Folder folder, DateTime startTime, DateTime endTime)
    {
        string filter = "[Start] >= '"
                        + startTime.ToString("g")
                        + "' AND [End] <= '"
                        + endTime.ToString("g") + "'";
        Debug.WriteLine(filter);
        try
        {
            Items calItems = folder.Items;
            calItems.IncludeRecurrences = true;
            calItems.Sort("[Start]", Type.Missing);
            Items restrictItems = calItems.Restrict(filter);
            if (restrictItems.Count > 0)
            {
                return restrictItems;
            }
            else
            {
                return null;
            }
        }
        catch
        {
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我可以遍历这个预约项并获取entryId,我被告知是该系列的唯一标识符.

我现在试图弄清楚,给定一个EntryId,什么是正确的代码来直接引用约会项目系列(无需搜索所有内容并过滤"客户端")

这在outlook vsto中是否可行?

c# outlook vsto calendar

6
推荐指数
1
解决办法
1043
查看次数

为什么我的C#应用​​程序在此REST请求上失败但是通过浏览器可以正常工作?

我有一个C#应用程序,我通过REST访问一些数据,所以我传入一个URL来获取JSON有效负载.我以编程方式访问几个不同的URL,除了一个调用之外,它们都可以正常使用下面的代码.

这是我的代码:

 var url = "http://theRESTURL.com/rest/API/myRequest";
 var results = GetHTTPClient().GetStringAsync(url).Result;
 var restResponse = new RestSharp.RestResponse();
 restResponse.Content = results;
 var _deserializer = new JsonDeserializer();
Run Code Online (Sandbox Code Playgroud)

其中GetHTTPClient()使用以下代码:

private HttpClient GetHTTPClient()
{
  var httpClient = new HttpClient(new HttpClientHandler()
  {
     Credentials = new System.Net.NetworkCredential("usr", "pwd"),
     UseDefaultCredentials = false,
     UseProxy = true,
     Proxy = new WebProxy(new Uri("http://myproxy.com:8080")),
     AllowAutoRedirect = false
  });
  httpClient.Timeout = new TimeSpan(0,0, 3500);
  return httpClient;
 }
Run Code Online (Sandbox Code Playgroud)

所以我说,上面的代码工作正常,但一堆不同的请求,但对于一个特定的请求,我得到一个异常内部的

 .GetStringAsync(url).Result
Run Code Online (Sandbox Code Playgroud)

调用错误:

无法从传输连接读取数据:远程主机强制关闭现有连接

等了大约10分钟后我得到了那个错误.有趣的是,如果我将相同的URL直接放入Internet Explorer中,我会获得JSON有效负载(大约10分钟后).所以我很困惑为什么

  • 它可以直接从浏览器正常工作,但在使用上面的代码时失败.
  • 它在这一个请求上失败,但使用相同代码的其他请求可以通过编程方式正常工作.

对于要尝试的事情的任何建议或我应该要求服务器的所有者检查他们的结果以帮助诊断正在发生的事情?

c# rest json httpurlconnection dotnet-httpclient

6
推荐指数
1
解决办法
923
查看次数