小编zaq*_*zaq的帖子

如果另一个字段有值,则jQuery验证插件需要字段,反之亦然

我正在使用jQuery validate插件来验证我的表单.我想将几对字段组合在一起,这样如果一个字段有一个值,另一个字段也需要有一个值.基本上两个字段(两个文本输入)必须都具有值或两者都没有值.有人知道一个很好的方法来实现这一目标吗?

jquery jquery-validate

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

正则表达式 - 匹配除+之外的任何字符,空字符串也应匹配

我在JavaScript中使用的正则表达式的一部分遇到了一些麻烦.我需要一种方法匹配字符以外的任何+字符,空字符串也应该匹配.

[^+]几乎是我想要的,除了它与空字符串不匹配.我曾经尝试过[^+]*思考:"除了+零次或多次之外的任何角色",但这符合一切,包括+.

javascript regex

27
推荐指数
3
解决办法
8万
查看次数

GC.Collect()和PerformanceCounter

我的一位同事确信Oracle的odp.net ado.net实现中存在内存泄漏.他编写了一个测试程序来测试这个理论,并在调用每个对象上的dispose之后执行以下操作,以确定释放多少内存:

PerformanceCounter p = new PerformanceCounter("Memory", "Available Bytes");

GC.Collect();
GC.WaitForPendingFinalizers();

float mem = p.NextValue();
Run Code Online (Sandbox Code Playgroud)

然后将得到的性能值与在处置对象之前检索的值进行比较.这会产生准确的结果吗?

.net c# memory-leaks odp.net performancecounter

8
推荐指数
1
解决办法
729
查看次数

使用用作受保护字段的内部类型

我有一个包含2个公共类的类库,它们继承自抽象类.在抽象类上,我有一个受保护的字段,只能由继承的类访问.用于该字段的类型是内部类的类型.

例如,我有:

internal class MyInternalClass
{
    ...
}

public abstract class MyAbstractClass
{
    protected MyInternalClass myField;
}
Run Code Online (Sandbox Code Playgroud)

现在我明白这不会起作用,因为如果派生自MyAbstract类的其中一个类扩展到程序集之外,那么访问myField将是非法的.

我的问题是如何在保持MyInternalClass内部(它不应该在程序集外部可访问)并允许程序集中的类扩展MyAbstractClass以访问myField的情况下使事情正常工作?

.net c#

7
推荐指数
1
解决办法
574
查看次数

正则表达式 - 匹配任何不以+开头但允许+1的字符串

我需要一个JavaScript的正则表达式,它将匹配任何不以+字符开头的字符串.除了一个例外,字符串开头+1是可以的.空字符串也应该匹配.

例如:

"" = true
"abc" = true
"+1" = true
"+1abc" = true
"+2" = false
"+abc" = false
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现^(\+1|[^+]?)$照顾+1部分,但我似乎无法让它在没有使第一部分无效的情况下允许更多的字符.我认为这^(\+1|[^+]?).*?$会起作用,但似乎与一切相符.

javascript regex

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

使用linq或lambda表达式进行对象分组

我有一个对象列表,我想将其转换为另一个对象列表.

第一个对象如下所示:

    private class ObjectOne
    {
        public string Name { get; set; }
        public string Item{ get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

而另一个像这样

public class ObjectTwo
{
    public string Name { get; set; }
    public IEnumerable<string> Items{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想编写一个linq查询或lambda表达式,它可以将ObjectOne数据列表转换为ObjectTwo数据列表.ObjectTwo列表中的每个项目都将包含ObjectOne中的不同名称,以及与该名称关联的所有项目的枚举.

例如,以下ObjectOne数据列表

"Name One", "Item One"
"Name One", "Item Two"
"Name Two", "Item Three"
Run Code Online (Sandbox Code Playgroud)

会产生以下ObjectTwo列表:

"Name One", {"Item One", "Item Two"}
"Name Two", {"Item Three"}
Run Code Online (Sandbox Code Playgroud)

.net c# linq

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

写一个除了抛出异常之外什么都不做的方法是不好的做法?

标题几乎说了但是这里有一些背景:

我有一个ASP.Net MVC应用程序,我需要检查存在的文件路径列表.如果任何路径不存在,则返回错误.

目前,我有一个实现OnException事件的基本控制器.在这里,处理任何未处理的异常,并将错误页面返回给用户,并显示异常消息.

我执行上述检查的最简单方法是编写一个检查每个路径是否存在的方法,如果其中任何一个路径失败,我只需抛出(并记录)异常.然后,基本控制器处理此异常,并将相应的消息返回给用户.

我的问题是,这样做感觉就像是不好的做法.我正在编写一个返回void的方法,它的唯一目的是在极少数情况下抛出异常,其中一条路径不存在,在大多数情况下它什么都不做.这是一个坏主意吗?

c# asp.net-mvc exception asp.net-mvc-3

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

ASP.Net MVC控制器注入

我正在寻找有关设计新的ASP.NET Mvc项目的好方法的建议.它中等大小,结构相对简单.我最初使用Spring.Net将我的服务对象连接到正确的构造函数,但现在管理层告诉我,Spring.Net或任何其他IOC容器不能在我们的环境中使用.

在没有DI的情况下找出一个很好的方法来解决这个问题我有点麻烦.我希望能够以允许控制器和服务之间的低量耦合的方式将服务实现分配给控制器,并尽可能地限制各个服务实现上的控制器.我想我的问题归结为这样一个事实,我不确定我应该在MVC模型中手动连接我的应用程序.

有什么建议?

.net c# asp.net dependency-injection asp.net-mvc-3

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

nHibernate HQL 查询中的最大日期

我在编写一个 hql 查询时遇到了一些困难,该查询将在表中搜索满足特定条件的所有行,但我只想返回具有最大日期的行。

例如,查询的 where 子句类似于:

column1 = input1 和 column2 = input2 和 date_column < date_input

这可能会返回具有不同日期的几行,但我只对具有最新日期的行感兴趣。我还需要它来返回整行。

目前,我正在使用上面按日期降序排序的条件执行查询,然后在 C# 中获取第一项。如果可能的话,我想要一个 hql 查询或 iCriteria 解决方案,可以一步完成。

nhibernate hql icriteria

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

如何在 .Net 中验证 Mongo ObjectId

我有一种情况,方法需要接受一个 ID,在 Mongo 中查找一个值,如果没有找到,则调用另一个 API 来获取该项目,前提是它不存在于本地数据库中。

我遇到的问题是集合的 MongoID 被配置为 ObjectID。当我尝试查找无效的 ID 时,它会抛出此异常:“不是有效的 24 位十六进制字符串”。其他 API 期望的 id 格式不同。有没有办法在查找之前检查 ID 对 Mongo 的有效性?

我知道我可以将 Mongo 中的 id 更改为字符串,但为了与我们的其他集合保持一致,我不想这样做。

该集合是这样注册的:

        BsonClassMap.RegisterClassMap<Foo>(cm =>
        {
            cm.AutoMap();
            cm.MapIdMember(f => f.id)
            .SetIdGenerator(StringObjectIdGenerator.Instance)
            .SetSerializer(new StringSerializer(BsonType.ObjectId))
            .SetIgnoreIfDefault(true);
        });
Run Code Online (Sandbox Code Playgroud)

查找(抛出异常)如下所示:

await collection.FindAsync(foo => foo.id == id);
Run Code Online (Sandbox Code Playgroud)

c# mongodb .net-core asp.net-core

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

根据字段值提升ElasticSearch结果

我是一个ElasticSearch菜鸟,我试图弄清楚如何在"标题"字段中提高包含搜索词的搜索结果的相关性.例如,如果有两个文件:

  1. Title="Test Form" Description="This is a new form"
  2. Title="New Form" Description="Test test test"

并且用户在所有字段中搜索"测试",因为搜索项出现在标题字段中,所以文档1应该被提升.

我试图在这里遵循文档,但我不确定我应该包含该命令的上下文.它是应用于索引还是搜索或者?它是否需要成为另一个元素的一部分,还是可以作为单独的命令发布?

这是我到目前为止所做的,5个文档被索引,然后应用提升,最后,在所有字段中搜索字符串"test".

PUT http://localhost:9200//global/Form/456
{
  "KeyWords": "",
  "OneLineDesc": "Test",
  "Link": "",
  "Title": "Test Form"
}

PUT http://localhost:9200//global/Form/457 
{
  "KeyWords": "",
  "OneLineDesc": "",
  "Link": "",
  "Title": "Another Form"
}

PUT http://localhost:9200//global/Form/458 
{
  "KeyWords": "",
  "OneLineDesc": "test form",
  "Link": "",
  "Title": "Ryans Form"
}

PUT http://localhost:9200//global/Form/460 
{
  "KeyWords": "",
  "OneLineDesc": "",
  "Link": "",
  "Title": "permissions test"
}

PUT http://localhost:9200//global/Form/576 
{
  "KeyWords": "",
  "OneLineDesc": "Test …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

Oracle存储过程,返回ref cursor与关联数组

我们的DBA要求我们从一组关联数组中返回存储过程中的所有表格数据,而不是使用我在Web上的大多数示例中看到的引用游标.他说这是因为Oracle以这种方式做事要快得多,但这对我来说似乎很直观,因为数据需要循环两次,一次在存储过程中,然后再在应用程序中进行处理.此外,值通常需要从其本机类型转换为varchar,以便它们可以存储在数组中,然后在应用程序端进行转换.使用这种方法也很难使用orm工具,因为在大多数情况下它们似乎都需要ref游标.

存储过程的示例如下:

PROCEDURE sample_procedure (
                                p_One       OUT varchar_array_type,
                                p_Two       OUT varchar_array_type,
                                p_Three     OUT varchar_array_type,
                                p_Four      OUT varchar_array_type
                            )
IS
p_title_procedure_name        VARCHAR2(100) := 'sample_procedure';
v_start_time DATE :=SYSDATE;    

CURSOR cur
  IS
    SELECT e.one, e.two, e.three, e.four FROM package.table 
    WHERE filter='something';

    v_counter PLS_INTEGER := 0;
BEGIN

    FOR rec IN cur LOOP
        BEGIN
            v_counter := v_counter + 1;
            p_One(v_counter) := rec.one;
            p_Two(v_counter) := rec.two;
            p_Three(v_counter) := rec.three;
            p_Four(v_counter) := rec.four;
        END;
    END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

游标用于为返回的每列填充一个数组.我试图找到支持他声称这种方法更快但却无法做到这一点的信息.任何人都可以填写我可能希望我们(.net开发人员)以这种方式编写存储过程的原因吗?

arrays oracle plsql oracle11g

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