Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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# 如何从c中的流读取器获取数据的控制器在表中显示多条记录#_C#_Asp.net Mvc_Controller - Fatal编程技术网

C# 如何从c中的流读取器获取数据的控制器在表中显示多条记录#

C# 如何从c中的流读取器获取数据的控制器在表中显示多条记录#,c#,asp.net-mvc,controller,C#,Asp.net Mvc,Controller,在控制器操作中,我得到了多条记录,我无法在表中显示这些记录。此代码适用于单个记录,显示不适用于多个记录。如何对多个记录使用集合 样本数据 [{"id":1488437716804,"timestamp":"2017-03-02T06:55:16.804Z","dataFrame":"UkFEOkRO","fcnt":12453,"port":2,"rssi":-83,"snr":8.5,"sf_used":7,"decrypted":true},{"id":1488437738877,"time

在控制器操作中,我得到了多条记录,我无法在表中显示这些记录。此代码适用于单个记录,显示不适用于多个记录。如何对多个记录使用集合

样本数据

[{"id":1488437716804,"timestamp":"2017-03-02T06:55:16.804Z","dataFrame":"UkFEOkRO","fcnt":12453,"port":2,"rssi":-83,"snr":8.5,"sf_used":7,"decrypted":true},{"id":1488437738877,"timestamp":"2017-03-02T06:55:38.877Z","dataFrame":"UkFEOkRO","fcnt":12455,"port":2,"rssi":-87,"snr":9.80000019073486,"sf_used":7,"decrypted":true}]
控制器

private List<PIRDetailsViewModel> getPirDetails()
{
    List<PIRDetailsViewModel> model = new List<PIRDetailsViewModel>();

    try
    {
        WebRequest req = WebRequest.Create(@"https:url");
        req.Method = "GET";
        req.Headers["Authorization"] = "Basic " + "a2VybmVsc3BoZXJlOmtlcm5lbHNwaGVyZQ==";
        HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
        var encoding = resp.CharacterSet == "" ? Encoding.UTF8 : Encoding.GetEncoding(resp.CharacterSet);
        using (var stream = resp.GetResponseStream())
        {
            var reader = new StreamReader(stream, encoding);
            var responseString = reader.ReadToEnd();
            dynamic bin = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString);
            byte[] data = Convert.FromBase64String(bin.dataFrame.ToString());
            PIRDetailsViewModel binModel = new PIRDetailsViewModel();
            binModel.status = Convert.ToString(Encoding.UTF8.GetString(data).Substring(4));
            binModel.UpdatedTime = TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(bin.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).ToString();
            model.Add(binModel);
        }
    }


    return model;
}
private List getPirDetails()
{
列表模型=新列表();
尝试
{
WebRequest req=WebRequest.Create(@“https:url”);
req.Method=“GET”;
请求头[“授权”]=“基本”+“a2VybmVsc3BoZXJlOmtlcm5lbHNwaGVyZQ=”;
HttpWebResponse resp=req.GetResponse()作为HttpWebResponse;
var encoding=resp.CharacterSet==“”?encoding.UTF8:encoding.GetEncoding(resp.CharacterSet);
使用(var stream=resp.GetResponseStream())
{
var reader=新的StreamReader(流,编码);
var responseString=reader.ReadToEnd();
动态bin=Newtonsoft.Json.JsonConvert.DeserializeObject(responseString);
字节[]数据=Convert.FromBase64String(bin.dataFrame.ToString());
PIRDetailsViewModel binModel=新的PIRDetailsViewModel();
binModel.status=Convert.ToString(Encoding.UTF8.GetString(数据).Substring(4));
binModel.UpdateTime=TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(bin.timestamp),TimeZoneInfo.FindSystemTimeZoneById(“印度标准时间”))。ToString();
model.Add(binModel);
}
}
收益模型;
}
看法


sl号
时间
地位
@foreach(Model.Select中的var项((value,i)=>new{i,value}))
{
@项目价值状态
@item.value.updateTime
}

您只向模型中添加一个元素

只调用一次
model.Add(binModel)


这就是视图中只有一个元素的原因。

您需要使用集合并将其绑定到模型。在视图中,必须使用绑定在模型中的集合,并对其进行渲染以将其显示为网格/表格
 <table class="table table-striped" id="listing">
        <thead>
            <tr class="success">
                <th class="success" style="font-size:20px">sl no</th>
                <th class="success" style="font-size:20px">Time</th>
                <th class="success" style="font-size:20px">status</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model.Select((value, i) => new { i, value }))
            {
                    <tr id="tr_@item.value.deviceid">
                    <td class="danger">@item.value.status</td>
                    <td class="warning">@item.value.UpdatedTime</td>

                </tr>
            }
        </tbody>
    </table>