小编leo*_*ora的帖子

C#是否有字典的ContainsAny()方法?

我有一个字典,其中Key是一个Id,值是一个字符串

我现在有一个人物对象列表,其中每个人都有一个CarIds属性

IEnumerable<int>
Run Code Online (Sandbox Code Playgroud)

我想基本上过滤对象列表,只包括其中一个属性包含在dict中的项目.

例如.这样的事情:

var dictionary = GetDict();

var people = GetPeople();

 people = people.Where(r => dictionary.ContainsAny(r.CarIds)).ToList();
Run Code Online (Sandbox Code Playgroud)

这样的事情是否存在于我可以做类似于ContainsKey()的事情但是检查int中的任何一个?

c# linq collections

5
推荐指数
2
解决办法
752
查看次数

在C#中,你可以将Or放在"where"接口约束中吗?

如果我有这个代码:

public interface IJobHelper
{
    List<T> FilterwithinOrg<T>(IEnumerable<T> entities) where T : IFilterable;
}
Run Code Online (Sandbox Code Playgroud)

有什么东西支持做这样的事情:

public interface IJobHelper
{
    List<T> FilterwithinOrg<T>(IEnumerable<T> entities) where T : IFilterable or ISemiFilterable
}
Run Code Online (Sandbox Code Playgroud)

所以它会接受任何支持两个接口之一的东西.我基本上试图创建一个重载.

c# generics interface

5
推荐指数
1
解决办法
164
查看次数

使用jquery支持重新排序html表行以及快速生成SQL后端的最佳方法?

我有一个asp.net-mvc网站,我有一个html数据表,其中一列是排名,表示该行的优先级(每行代表一个请求).我允许人们使用新数字连续编辑数据,但它实际上并不影响任何其他行(例如,没有任何东西阻止人们输入另一行中存在的alraedy值)

我正在寻找一个更有效的前端和快速后端的解决方案.我将分解每个:

  1. 前端:

我想要一些功能,我可以上下拖动行或点击向上/向下箭头,或者当我连续输入排名值时,它会更新所有其他行的排名.我基本上不希望用户必须更新每一行,如果有一个排名为#1的新条目(基本上必须更新前一个1 => 2,前一个2 => 3,前三个=> 4等......

是否有任何jquery库或有用的模式,以帮助支持此功能(以避免必须从头开始连接),因为这看起来像我可以想象许多其他人使用的通用功能.

作为参考,如果有人熟悉JIRA Greenhopper规划板,这将是一个理想的模拟实例.

  1. 后端

我的相关问题是,当我更新后端时,我试图弄清楚如何避免这种操作真的很慢.如果我的数据库表中有一个排名字段,有人将项目更新为第一,我基本上必须在每一行上运行更新查询,将值更改为现有值+ 1.是否有一些模式可以执行此操作更有效?

sql-server asp.net-mvc jquery

5
推荐指数
1
解决办法
1061
查看次数

使用jquery droppable,我怎样才能复制trello将人们的图像丢到卡片右下角卡片上的行为?

我有一堆可拖动的图像,我有一堆可放置的项目.在trello中,当我将图片拖到卡片上时,它会卡在卡片的右下角.

在此输入图像描述

如果我在同一张卡上拖动另一个人的图片,它会捕捉到最后一张图片的左侧,等等.这部分是jquery UI的内置API可放置还是这个自定义代码来获取此行为?

这是我目前的代码:

 <script type="text/javascript">
    $(function () {
        $(".draggable").draggable({ revert: "invalid", snap: "true", snapMode: "inner" });
        $(".droppable").droppable({
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-draggable jquery-ui-droppable trello

5
推荐指数
1
解决办法
1009
查看次数

如何处理IE9 html表错误,其中额外列显示部分视图的某些行?

我看到这个问题已经在IE9周围被问到,但是在html表的随机行中添加了额外的列.根问题似乎是在IE 10中修复的IE 9错误(但我有很多IE9用户)

它声明它通常发生在通过ajax构建的表中,但我在输出html表的常规页面上看到这一点.

有一个解决方法Javascript解决方案,但答案假定您正在构建一个使用Javascript的表(来自ajax调用).我正在使用局部视图(或者在某些情况下只是直接在单个页面上呈现常规格式化的html表)所以我想知道是否有一个解决方案可以在IE9上直接渲染直接html时阻止此UI问题页.

我想避免在我的实际代码中实际上没有空格,因为这将很难维护.

html internet-explorer html-table internet-explorer-9 browser-bugs

5
推荐指数
2
解决办法
3320
查看次数

什么是正确的jquery选择器,以基于该div内的内容获取div的所有实例?

我有以下html:

<div class="list">
 <div class="sortable">
        <div class="contentItem"> Some content </div>
        <div class="contentItem"> Some content </div>
        <div class="contentItem"> Some content </div>
 </div>
</div>

<div class="list">
 <div class="sortable">
 </div>
</div>

<div class="list">
 <div class="sortable">
        <div class="contentItem"> Some content </div>
        <div class="contentItem"> Some content </div>
        <div class="contentItem"> Some content </div>
 </div>
 </div>

 <div class="list">
 <div class="sortable">
 </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

我试图隐藏所有"list"类,其中没有任何"contentItem"div.所以它基本上采取了这个

 $(".list").hide();   
Run Code Online (Sandbox Code Playgroud)

这将隐藏所有但忽略其中包含"contentItem"元素的那些

这可以作为jquery选择器吗?

jquery jquery-selectors

5
推荐指数
1
解决办法
45
查看次数

为什么在这个例子中没有nhibernate从缓存中检索?

我试图弄清楚如何使用nhibernate缓存一个连接的查询,它似乎不正常工作

这是我的代码:

   public CacheTestViewModel GetCacheTestViewModel()
    {
        var vm = new CacheTestViewModel();
        var session = Repository.Session;
        using (var tx = session.BeginTransaction())
        {
            vm.Projects = Repository.Session.Query<Project>()
                .FetchMany(r=>r.ProjectApplications)
                .ThenFetch(r=>r.Application)
                .Cacheable().CacheMode(CacheMode.Normal)
                .ToList();

            tx.Commit();
        }
        return vm;
    }
Run Code Online (Sandbox Code Playgroud)

我一遍又一遍地运行它似乎是从二级缓存加载Project对象但它仍然返回到db来查询ProjectApplication对象,这很慢

是否有可能nhibernate缓存整个查询,以便从缓存中返回整个图形?

注意:我确实打开了查询缓存以及使用Cache.ReadWrite()设置的所有实体

这是我的缓存配置

       return configuration
            .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ApplicationMap>().Conventions.Add(typeof(Conventions)))
            .ExposeConfiguration(
                c => {
                   // c.SetProperty("proxyfactory.factory_class", proxyFactory);
                    c.SetProperty("cache.provider_class", "NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache");
                    c.SetProperty("cache.use_second_level_cache", "true");
                    c.SetProperty("cache.use_query_cache", "true");
                    c.SetProperty("expiration", "86400");
                })
            .BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)

nhibernate second-level-cache

5
推荐指数
1
解决办法
307
查看次数

使用查询将对象数组发布到 asp.net-mvc 控制器操作的正确方法是什么?

我有一组数据:

var myArray = [{"id": 1, "name", "John"},{"id": 2, "name", "Joe"},{"id": 3, "name", "Bill"}] 

 $.post("/MyController/Update", myArray, function (data) {
       alert("Complete");
 });
Run Code Online (Sandbox Code Playgroud)

这是我的 asp.net-mvc 控制器操作

public ActionResult Update(List<Person> people)
{
     return Json(new {Success = true});
}

public class Person
{
    public int id {get;set;}
    public string name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

 var paramString = JSON.stringify({ people: myArray});

 $.post("/MyController/Update", paramString , function (data) {
        alert("Complete");
  });
Run Code Online (Sandbox Code Playgroud)

但是当我查看服务器上的 people 参数时,我要么看到:

  1. 无效的
  2. 包含 3 项的数组,但 Id 的值始终为 0,Name 的值始终为空字符串

关于我在这里做错了什么有什么建议吗?

javascript ajax asp.net-mvc jquery http-post

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

在 C# 中,如何用 &amp; 替换\u0026?

我在我的 C# 代码中得到一个字符串,它来自一些 javascript 序列化,我看到一堆这样的字符串:

  Peanut Butter \u0026 Jelly
Run Code Online (Sandbox Code Playgroud)

我尝试这样做:

  string results  = resultFromJsonSerialization();
  results = results.Replace("\u0026", "&");
  return results;
Run Code Online (Sandbox Code Playgroud)

我希望它变成:

 Peanut Butter & Jelly
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有进行替换。在 C# 中进行此替换的正确方法是什么?

javascript c# serialization replace

5
推荐指数
2
解决办法
2761
查看次数

排队更新的建议是在asp.net-mvc应用程序中通过电子邮件发送出去的?

我有一个asp.net-mvc应用程序(SQL Server后端)和一个跟踪采购订单的基本CRUD Web应用程序.其中一项功能是订阅订单,因此如果有人进行任何更改,您会收到电子邮件通知.在更新提交到数据库之后和之后,我在表单发布后触发电子邮件通知.

问题是,有一天,单个订单上有大量更新,一个人在一天内收到24封电子邮件更新.用户要求他每天只收到1封电子邮件,其中包含所有更改的摘要.这似乎是一个合理的请求,我在其他情况下看到了这一点(每天或每周发送一次批量通知),但我正在努力找出构建这个的最佳方法.我知道我需要坚持用户设置他们想要如何接收更新,但之后我可以:

  • 有临时更新表或
  • 每天对所有订单运行一次查询,查看是否对任何"每天一次"检查的用户的订单进行了任何更改.
  • 其他?

由于我在其他地方看到过这种情况,我认为可能会有推荐的模式或建议来支持这一点.

c# email asp.net-mvc notifications scheduled-tasks

5
推荐指数
1
解决办法
370
查看次数