假设我有一个像这样的对象列表:
var users = new List<User>();
users.Add(new User() { FirstName = "Ek0nomik" });
users.Add(new User() { FirstName = "Ek0nomik" });
users.Add(new User() { FirstName = "Foobar" });
Run Code Online (Sandbox Code Playgroud)
我试图从该列表中获取一个二维数组,其中包含该名称的名称和计数(目的是将其作为JSON返回,并在Google Charts中使用).这是数组包含的内容:
["Ek0nomik", 2],
["Foobar", 1]
Run Code Online (Sandbox Code Playgroud)
我最初试图用来.Select投影一个新对象,但是为列表中的每个对象投影,所以我认为这种方法不会让我在那里.
public class Product {
public List<DateTime> FailureDates { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个List<Product>,然后我正在尝试进行基于a的分组List<DateTime>在图表中使用.分组应该基于DateTime对象的Year.所以我希望最终结果看起来像:
按年度总失败率
2012:1,
2011:5,
2010:3
... 等等.
在DateTime对象成为包含以下代码的列表之前,我原来有这个工作:
return Json.Encode(Products.Where(s => s.FailureDate != DateTime.MinValue).GroupBy(s => s.FailureDate.Year).Select(s => new { Year = s.Key.ToString(), FailureCount = s.Count() }).ToArray());
Run Code Online (Sandbox Code Playgroud)
但是,现在DateTime是一个List,所以我不确定如何对它进行分组.我认为合并需要为此工作,所以也许LINQ代码最终会变得太乱,我会更好地使用非LINQ解决方案(例如迭代我的产品然后迭代我的日期和建立一个字典来跟踪计数).
我正在使用Twitter Bootstrap按钮组和Knockout.我觉得我忽略了一些非常简单的东西,但是,我无法checked在这种情况下获得绑定工作.
我有一个jsFiddle在这里重现问题:http: //jsfiddle.net/n5SBa/.
这是小提琴的代码:
HTML
<div class="form-group">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary" data-bind="click: ClickScore.bind($data, '0'), css: { active: Score() == '0' }">
<input type="radio" name="score" value="0" data-bind="checked: Score" /> 0
</label>
<label class="btn btn-primary" data-bind="click: ClickScore.bind($data, '1'), css: { active: Score() == '1' }">
<input type="radio" name="score" value="1" data-bind="checked: Score" /> 1
</label>
<label class="btn btn-primary" data-bind="click: ClickScore.bind($data, '2'), css: { active: Score() == '2' }">
<input type="radio" name="score" value="2" data-bind="checked: Score" /> …Run Code Online (Sandbox Code Playgroud) 我有一个带有2.0应用程序的.NET 4.0应用程序作为孩子.Web应用程序不在多服务器环境中; 只有一台服务器参与提供这些请求.两个应用程序都使用自定义身份验证,两个应用程序具有相同的machineKey属性和值 当我访问2.0应用程序时,事件日志显示以下消息:
Event code: 4005
Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid.
Event time: 12/2/2011 11:36:49 AM
Event time (UTC): 12/2/2011 5:36:49 PM
Event ID: 2068ad6957964f75885301fc2b58ddfe
Event sequence: 2
Event occurrence: 1
Event detail code: 50201
Run Code Online (Sandbox Code Playgroud)
我尝试ticketCompatibilityMode在Web.config中的forms元素上将属性设置为Framework20,但这并没有解决问题.由于此错误,用户未被授权,因此通常的对象(HttpContext)没有填充用户信息.
有谁知道如何修复此错误,以便身份验证适用于2.0应用程序?(顺便说一下,我的确计划将2.0应用程序升级到4.0,但此时不能完成此卡)
所以,这是我的问题(我做过研究并尝试通过查看此处发布的其他类似问题来解决我的问题,但没有奏效)
代码片段(忽略大括号和东西):
json_string = JSON.stringify(json_links);
var data_obj = { id:n_id, links_json: json_string };
$.ajax({
url: 'server_api',
type: 'GET',
data: data_obj,
dataType: 'json',
Run Code Online (Sandbox Code Playgroud)
在服务器端,我尝试使用perl模块,JSON和函数,decode_json进行解码,但它会抛出异常,'JSON字符串中的格式错误的UTF-8字符,字符偏移48(在"\ x {92f}之前 - 它 - . ..")'
我尝试使用POST方法和内容类型组合,但它不起作用.jQuery文档指定它默认编码为UTF-8?请帮忙?
c# ×2
json ×2
linq ×2
.net ×1
ajax ×1
arrays ×1
asp.net ×1
group-by ×1
javascript ×1
jquery ×1
knockout.js ×1
post ×1
projection ×1