小编Gar*_*ngs的帖子

将动态json对象传递给C#MVC控制器

我正在使用.Net 4,MVC 3和jQuery v1.5做一些工作

我有一个JSON对象,可以根据调用它的页面进行更改.我想将对象传递给控制器​​.

{ id: 1, title: "Some text", category: "test" }
Run Code Online (Sandbox Code Playgroud)

我明白,如果我创建一个自定义模型,如

[Serializable]
public class myObject
{
    public int id { get; set; }
    public string title { get; set; }
    public string category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

并在我的控制器中使用它,例如

public void DoSomething(myObject data)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

并使用jQuery的.ajax方法传递对象,如下所示:

$.ajax({ 
    type: "POST", 
    url: "/controller/method", 
    myjsonobject,  
    dataType: "json", 
    traditional: true
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,我的JSON对象映射到我的C#对象.我想做的是传递一个可能会改变的JSON对象.当它改变时,我不希望每次JSON对象改变时都要向我的C#模型添加项.

这有可能吗?我尝试将对象映射到Dictionary,但数据的值最终会变为null.

谢谢

jquery json asp.net-mvc-3

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

Android软键盘:下一个按钮不是HTML5数字输入之间的"标签"

我用我的Android手机测试了HTML5输入类型"数字".虽然这样做我注意到当软键盘在数字输入类型上处于活动状态时,下一个按钮在输入之间似乎没有标签.

现在我假设它应该在输入之间选项卡,但我找不到任何明确的措辞,说明情况就是这样.

我目前正在使用Android 4.1.1和股票浏览器.我也在Chrome中尝试过相同的结果.

我在这里有一个示例页面:http://jsfiddle.net/axECg/,这里是代码:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <form id="myForm">
            Number 1<input type="number" id="numA" name="numA" /><br />
            Number 2<input type="number" id="numB" name="numB" />
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?或者只是期待HTML5 + Android目前有点太多了?

谢谢

html5 android-softkeyboard

8
推荐指数
2
解决办法
7388
查看次数

对列表中的每个其他项目执行对列表中每个项目的操作,并使用排除项

我有一个没有重复的数据列表.对于这个例子,我会说我的清单是

List<string> list1 = new List<string>() { "A", "B", "C", "D" };
Run Code Online (Sandbox Code Playgroud)

我想对列表中的每个项目对列表中的每个其他项目执行我的操作,除非我已经对它们执行了操作(AB和BA)或者它们是相同的(AA).

例如.

A against B
A against C
A against D
B against C
B against D
C against D
Run Code Online (Sandbox Code Playgroud)

现在这很简单,但我的列表非常大,这个过程可能非常耗时.另外,对于我拥有的数据,我不需要对匹配数据运行操作,或者操作是否已经运行

例如.

A against A - Skip
A against B - Good
A against C - Good
A against D - Good
B against A - Skip (we already did A against B)
B against B - Skip
B against C - Good
B against D - Good …
Run Code Online (Sandbox Code Playgroud)

c# list

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

C#关于线程安全的问题

我正在使用线程池进行一些繁重的处理以及一些sql.目前我在需要时打开sql连接,运行查询然后关闭它们.这很好用.该应用程序一直运行没有问题.随着这个应用程序正在做更多的工作,它正在使用更多的线程.更多线程意味着更多SQL连接的打开/关闭.在SQL 2005中,这实际上会破坏服务器.我的测试服务器大约每天执行175次事务.其中大约150个正在master数据库中运行,并且是"ValidateSQLLogin".

我要更改应用程序,以便每个线程都有自己的连接,然后在线程周围传递此连接.

所以我的问题是:

如果SQL连接对象是在线程中本地创建的,然后通过ref传递给另一个类的静态函数,那么这是不安全的吗?

void ThreadA()
{
    SqlConnection a = new SqlConnection(....);
    MyStaticClass.DoStuff(ref a);
}

void ThreadB()
{
    SqlConnection b = new SqlConnection(....);
    MyStaticClass.DoStuff(ref b);
}

static void MyStaticClass.DoStuff(ref SqlConnection sql)
{
    // Do stuff with sql
}
Run Code Online (Sandbox Code Playgroud)

我最初的想法是它不安全,因为10个线程可以同时调用相同的静态函数,每个线程都传递自己的连接对象.

以前,静态函数打开了自己的连接,并在完成后关闭它们.

如果它是不安全的,最好的方法来解决这个问题.我需要尝试最小化Sql连接的打开/关闭.

谢谢

加雷思

c# sql multithreading thread-safety

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