Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何添加使用GET-to主干模型返回的字符串?_C#_Backbone.js_Asp.net Web Api2 - Fatal编程技术网

C# 如何添加使用GET-to主干模型返回的字符串?

C# 如何添加使用GET-to主干模型返回的字符串?,c#,backbone.js,asp.net-web-api2,C#,Backbone.js,Asp.net Web Api2,我有一个ApiController,它只返回表中的一列 public IEnumerable<string> GetEmailConfig() { return dbContext.EmailConfig.Select(m => m.smtpHost).AsEnumerable(); } 我想我必须序列化字符串,但不确定如何序列化,或者这是否是问题所在。有什么建议吗 编辑: 我的模型 App.Models.EmailConfigModel = Backbone.Mod

我有一个ApiController,它只返回表中的一列

public IEnumerable<string> GetEmailConfig()
{
    return dbContext.EmailConfig.Select(m => m.smtpHost).AsEnumerable();
}
我想我必须序列化字符串,但不确定如何序列化,或者这是否是问题所在。有什么建议吗

编辑: 我的模型

App.Models.EmailConfigModel = Backbone.Model.extend({
    parse: function(response, option)
    {
        var smtpHost = "";
        console.log('parsing smtp host');
        $.each(response, function (index, val) {

            smtpHost = smtpHost + val;
        });
        return { "smtpHost": smtpHost };
    }
});
我还尝试了
返回{“attributeName”:smtpHost}和“属性名”。没有一个奏效

这就是我如何从索引页获取数据的方法

App.emailconfig.fetch().then(function () {
    new App.Views.EmailConfig({ collection: App.emailconfig });
});
这是我的收藏:

App.Collections.EmailConfig = Backbone.Collection.extend({
    model: App.Models.EmailConfigModel,
    url: 'api/EmailConfig',

});

编写一个parse方法,该方法返回一个对象
{attributeName:stringReturnedFromService}

parse
,每当服务器在fetch和save中返回模型数据时都会调用该方法。函数被传递给原始响应对象,并应返回要在模型上设置的属性哈希

因此,在您的模型中编写一个解析函数,如

parse : function(response,option){
  var mystr = "";
    $.each($.parseJSON(response), function(index, val) {
             mystr = mystr + val;
        });
   return {"attributenmae" : mystr};
}

我使用了您的函数,但未捕获类型错误:无法使用“in”运算符在[“smtp.xxx.xxx”]中搜索“15”。我更改了smtp主机。我假设您希望在主干模型中将属性另存为{“attributenmae”:“smtp.host”},对吗?当然,但您需要什么?模型、集合还是C#?我所做的与您在执行此操作的modelplace中所做的完全相同。我只是添加了我的模型、集合以及如何从索引页获取它。
parse : function(response,option){
  var mystr = "";
    $.each($.parseJSON(response), function(index, val) {
             mystr = mystr + val;
        });
   return {"attributenmae" : mystr};
}