C# 返回一个Json对象赢得';不起作用,只有返回字符串才会起作用

C# 返回一个Json对象赢得';不起作用,只有返回字符串才会起作用,c#,jquery,asp.net-mvc,json,C#,Jquery,Asp.net Mvc,Json,我试图将json对象列表返回到视图中,但是它不喜欢它是一个对象,如果我返回一个字符串或字符串列表,它就会工作。但实际上,我不需要视图中的整个对象,我只需要名称和Id。我如何更改它以将名称和匹配Id的列表返回到视图,然后将所有名称插入/更新到列表框中?感谢您的帮助。:) 视图: $.getJSON(“/Estimate/GetUserStories”,$.param({id:selectedid},true),函数(结果){ $(“.UserStoryListBoxClass”).html(“”)

我试图将json对象列表返回到视图中,但是它不喜欢它是一个对象,如果我返回一个字符串或字符串列表,它就会工作。但实际上,我不需要视图中的整个对象,我只需要名称和Id。我如何更改它以将名称和匹配Id的列表返回到视图,然后将所有名称插入/更新到列表框中?感谢您的帮助。:)

视图:

$.getJSON(“/Estimate/GetUserStories”,$.param({id:selectedid},true),函数(结果){
$(“.UserStoryListBoxClass”).html(“”);
for(结果中的var项){
$(“.UserStoryListBoxClass”).append($(“+结果[项目]+”);
}
});

如果您的
json
结果是这样的

[{"Id": "1","Name": "Skeet"},{"Id": "2","Name": "Darin"}]
下面的代码将起作用

 $.getJSON("/Estimate/GetUserStories", $.param({ id: selectedid }, true), function (result) {
    var items="";
    $.each(result, function(index) {
       items+="<option value="+result[index].Id+">" + result[index].Name+ "</option>";
    });
    $(".UserStoryListBoxClass").html(items);    
 });
$.getJSON(“/Estimate/GetUserStories”,$.param({id:selectedid},true),函数(结果){
var项目=”;
$。每个(结果、函数(索引){
items+=“”+结果[索引]。名称+“”;
});
$(“.UserStoryListBoxClass”).html(项目);
});
工作样本


切勿在循环中使用
append
方法将元素添加到下拉列表中
。如果您的
json
结果是这样的,请始终将其存储到变量中,并仅调用一次html方法

[{"Id": "1","Name": "Skeet"},{"Id": "2","Name": "Darin"}]
下面的代码将起作用

 $.getJSON("/Estimate/GetUserStories", $.param({ id: selectedid }, true), function (result) {
    var items="";
    $.each(result, function(index) {
       items+="<option value="+result[index].Id+">" + result[index].Name+ "</option>";
    });
    $(".UserStoryListBoxClass").html(items);    
 });
$.getJSON(“/Estimate/GetUserStories”,$.param({id:selectedid},true),函数(结果){
var项目=”;
$。每个(结果、函数(索引){
items+=“”+结果[索引]。名称+“”;
});
$(“.UserStoryListBoxClass”).html(项目);
});
工作样本


切勿在循环中使用
append
方法将元素添加到下拉列表中
。始终将其存储到变量中,并仅调用html方法一次

以返回具有id和名称的元组,您可以执行以下操作:

var userstorynames = userstorylist.Select(x => new { id = x.Id, name = x.Name }).ToList();

要返回id和名称为的元组,可以执行以下操作:

var userstorynames = userstorylist.Select(x => new { id = x.Id, name = x.Name }).ToList();

美元中的jsonData从何而来?谢谢你的回复:)@TMan:结果是一样的。我在示例中使用了JsonData。现在更新了我的示例。美元中的jsonData都来自哪里?谢谢你的回复:)@TMan:结果是一样的。我在示例中使用了JsonData。现在更新了我的示例。