从javascript访问数据集中的每个元素

从javascript访问数据集中的每个元素,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我想从javascript访问数据集中的每个元素。我想在javascript中执行以下操作 for(var i = 0; i < @Model.saVM.mapDetails.Count; i++){ var data = @Model.saVM.mapDetails; alert(data[i]); } 但我总是犯这个错误 未终止的模板文本 我试过的其他事情 for(var i = 0; i < @Model.saVM.mapDetails.Cou

我想从javascript访问数据集中的每个元素。我想在javascript中执行以下操作

for(var i = 0; i < @Model.saVM.mapDetails.Count; i++){
        var data = @Model.saVM.mapDetails;
        alert(data[i]);
}
但我总是犯这个错误

未终止的模板文本

我试过的其他事情

for(var i = 0; i < @Model.saVM.mapDetails.Count; i++){
        var data = @Model.saVM.mapDetails.ElementAt(i);

}

这就是为什么我需要这样做

我有一个MVC应用程序,它将模型中的数据绑定到html表中。行数和列数根据模型中的数据而变化

public class StudentAssessmentViewModel
{
    public StudentAssessmentViewModel() { }
    public List<ShortResult> results { get; set; }        
    public List<ShortStudent> students {get; set;}
    public List<MapDetail> mapDetails { get; set; }
    public List<ResultType> resultTypes { get; set; }        
    public List<ShortResult> calculatedResults { get; set; }
    public List<Mean> means { get; set; } 
}
现在在这个表中,当我创建一个td时,我检查Model.results中是否有值和颜色与要放入当前td的行中当前学生和列中当前标题相匹配,如果是,则将值和颜色向前移动,即创建下一个td

然后我将这个表转换成剑道网格,它保留了td值,但删除了所有颜色


所以现在我必须分别解析结果列表,并再次为kendogrid中的每个单元格指定颜色

我举了一个简单的例子,希望能对你有所帮助

看法


输出

我已经做了一个简单的例子,希望它能帮助你

看法


输出要循环,您需要执行以下操作:

<script>
var model = @Html.Raw(Json.Encode(@Model.saVM.mapDetails));
$(model).each(function (index, item) {
        console.log(item.MapId);
        console.log(item.MapName});
</script>

假设您在mapDetails中有MapId和MapName属性。希望有帮助。

要循环,您需要执行以下操作:

<script>
var model = @Html.Raw(Json.Encode(@Model.saVM.mapDetails));
$(model).each(function (index, item) {
        console.log(item.MapId);
        console.log(item.MapName});
</script>

假设您在mapDetails中有MapId和MapName属性。希望有帮助。

您不能将ASP.NET Razor与JavaScript混合使用。一个是服务器端渲染,另一个是客户端渲染。那么如何访问这些值呢?在Razor代码中使用foreach循环。这是一个限制。您需要首先将整个模式存储在Variable中,然后在其上进行循环。您不能将ASP.NET Razor与JavaScript混合使用。一个是服务器端渲染,另一个是客户端渲染。那么我如何访问这些值呢?在Razor代码中使用foreach循环。这是一个限制。您需要首先将整个模型存储在Variable中,然后执行循环,如何在模型上执行u循环?我正在尝试模型[i],它返回的[Object Object]不是json字符串。这真的很有帮助,虽然我标记了另一个答案,但两个答案都是正确的。如何在模型上进行u循环?我正在尝试模型[i],它返回的[Object Object]不是json字符串。这真的很有帮助,虽然我已经标记了另一个答案,两个答案都是正确的。太棒了!谢谢:如果我的模型数据被刷新,javascript中的模型对象不会改变:S..如何更新它?太棒了!谢谢:如果我的模型数据被刷新,javascript中的模型对象不会被更改:S..如何更新它?
  public List<Details> getCollection () {

        List<Details> obe = new  List<Details>();
        for (int i = 0; i < 10; i++)
        {
            Details obj = new Details();
            obj.Id = 1;
            obj.name = "nae";

            obe.Add(obj);
        }
        
        return obe;
    }

    public ActionResult modalPassTOjavascirpt() {

        var get = getCollection();

        return View(get);
    }
  var model = '@Html.Raw(Json.Encode(Model))'
           //   console.log(model)

            if (model != null) {
                
                $.each(JSON.parse(model), function (i, data) {

                    var row = data;
                    console.log(row);
                });
            
            }
            });
<script>
var model = @Html.Raw(Json.Encode(@Model.saVM.mapDetails));
$(model).each(function (index, item) {
        console.log(item.MapId);
        console.log(item.MapName});
</script>