小编Chi*_*han的帖子

Linq的jQuery版本Where()

我想使用jQuery从单选按钮集中取出选中的单选按钮.

这里的表单对象不是jQuery对象,而是"普通"javascript对象.

我想要以下内容:

//"where" should fliter the jQuery Array
var myVal = $(form.RadioSet).where(':checked').val();
Run Code Online (Sandbox Code Playgroud)

我知道我可以用这个得到我的结果:

var myVal = $(form).find('input[name=RadioSet]:checked').val();
Run Code Online (Sandbox Code Playgroud)

但是,使用"输入"和"名称"语法进行更多输入.

有任何想法吗?

谢谢,

jquery

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

在C#中尝试捕获属性的优雅方法是什么?

重构此代码的优雅方法是什么?

说,我有以下对象

public class SomeObject
{
    public SomeInnerObject1 Cat { get; set; }
    public SomeInnerObject2 Dog { get; set; }

    public class SomeInnerObject1
    {
        public int Age { get; set; }

        public string AgeAsString
        {
            get
            {
                if(Age < 0 )
                    throw new Exception();

                return Age.ToString();
            }
        }
    }

    public class SomeInnerObject2
    {
        public string BirthDayString { get; set; }
        public DateTime BirthDay { get { return DateTime.Parse(BirthDayString); } }
    }
}
Run Code Online (Sandbox Code Playgroud)

并说,我必须设置一些我需要设置的文本框值

var obj = new SomeObject
          {
              Cat …
Run Code Online (Sandbox Code Playgroud)

c# refactoring try-catch

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

如何模拟LINQ to Entities助手,例如'SqlFunctions.StringConvert()'

我正在使用EF 4并尝试使用Moq对以下行进行单元测试:

var convertError = models
             .Where(x => SqlFunctions.StringConvert((decimal?) (x.convert ?? 0)) == "0")
             .Any();
Run Code Online (Sandbox Code Playgroud)

SqlFunctions.StringConvert()如果它检测到上下文被模拟,它似乎会抛出.

它给出了一个错误说:

只能从LINQ到实体调用此函数

是否有可能告诉SqlFunctions.StringConvert返回一个模拟对象,以便我可以摆脱这个错误?

c# unit-testing moq mocking entity-framework-4

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

在Umbraco中存储实体列表

我想知道在Umbraco中存储实体列表的最佳方法是什么.

说,我有一个页面列出了一堆联系信息(姓名,公司地址,电话号码等).我希望网络管理员能够在Umbraco内轻松创建和编辑它们.

我应该创建一个新的数据类型调用联系人.并在该数据类型中具有这些属性?

如果是这样,这是一个好习惯吗?我一直认为Umbraco中的每个节点都被认为是一个页面.

如果没有,我还有其他选择吗?

谢谢,

umbraco

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

线程安全数据库访问策略

假设我有以下代码将用户插入MVC应用程序中的MS Dynamics:

public bool CreateContact(string email)
{
    if (crm.contacts.Count(x => x.Email == email) > 0)
         return false; //Email already exist in the Crm. Skip

    var contact = new contact {Email = email};
    crm.AddTocontacts(contact);
    crm.SaveChanges();

    return true;
}
Run Code Online (Sandbox Code Playgroud)

它非常适合阻止用户使用相同的电子邮件地址注册,直到最近我们遇到Dynamics的主要性能问题.

显然,用户会遇到很大的延迟,并经常三次点击触发此代码的按钮.

问题是,.Count()在不同的Http请求中同时触发.SaveChanges()在第一个Request中完成.因此,我们看到的联系人具有相同的电子邮件地址.

虽然我已经从客户端添加了一个修复程序,但我想看看是否可以在服务器端完成此操作.

什么是使这个线程安全的好策略?


编辑:

虽然在CRM中添加约束是最好的解决方案,但是我现在无法实现该解决方案,因为在发现此问题之前很久就存在CRM中的重复项.显然,有多个应用程序与CRM对话.

由于锁定和线程的经验很少,我最终做了以下事情:

internal static class ContactLock
{
    internal static readonly object Locker = new object();
}

public bool CreateContact(string email)
{
    lock(ContactLock.Locker)
    {
        if (crm.contacts.Any(x => x.Email == email))
            return false; //Email already exist in the Crm. …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc multithreading dynamics-crm dynamics-crm-4

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

如何在AngularJS中外部配置工厂

假设我正在使用AngularJS构建一个C#应用程序.

我想设置来自服务器端的配置对象,并基本上将该配置注入工厂.工厂所在的另一个.JS文件.

怎么会这样做?

我在这里设置了一个JS小提琴示例:

http://jsfiddle.net/f89tS/7/

javascript angularjs

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

来自PhoneGap/Cordova的联系人api设备上的JSON错误,但适用于Ripple

我有以下代码:

<html>
<head>
    <title>Contact test</title>
    <script type="text/javascript" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" src="app/lib/jquery.min.js"></script>
</head>
<body>
    <script type="text/javascript" charset="utf-8">


        alert('Add Listener');
        document.addEventListener("deviceready", onDeviceReady, false);


        function onDeviceReady() {
            alert('Device is ready');
            navigator.contacts.find("*", function(contacts) {
                for (var i = 0; i < contacts.length; i++) {
                    $('body').append('<div>' + contacts[i].displayName + '</div>');
                }
            }, function(error) {
                alert('Contacts.find failed: ' + error);
            });
        }
    </script>


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的PhoneGap设置为2.2.0版.代码是一个zip文件,只有:

index.html app/lib/jquery.min.js

没有cordova-2.2.0.js,没有config.xml.

当我在Ripple中测试时,它会按预期给出一个联系人列表.

当我在手机上部署应用程序(三星Galaxy Nexus,运行Jelly Bean)时,它会给我一个警告窗口,上面写着"Contacts.find failed:JSON error".

看起来方法"navigator.contacts.find"失败了.

起初我认为这是一个权限问题,但是当我安装应用程序时,我能够看到该应用程序要求"您的个人信息",其中包含来自手机的阅读联系人.

我想知道出了什么问题?

cordova

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