【问题标题】:How to use model int array variable in javascript MVC 4如何在javascript MVC 4中使用模型int数组变量
【发布时间】:2015-08-25 11:18:04
【问题描述】:

型号

public int[] mobileid{get;set;}

脚本

var k;
for(var i=0;i<3;i++)
{
  k=@model.mobileid[i];
  alert(k);
}

此方法不起作用,如何将 int 数组变量分配给 Javascript var。我已经使用了以下方法:

var k=[];
k=@html.Raw(json.Encode(model.mobileid));//not work

【问题讨论】:

  • var k = @Html.Raw(Json.Encode(Model.year)) 可以正常工作(我假设您只是有一些拼写错误(大写 H、J 和 M)
  • var k = @Html.Raw(Json.Encode(Model.year));分号结尾 (;) 显示语法错误
  • 去掉分号(见我的评论)
  • 删除分号时,下一行显示错误
  • 我现在从您接受答案(解决您的问题的糟糕方法)中看到模型为空。你只需要先检查null - if (k) { for(var i=0;i&lt;3;i++) { var x = k[i]; } }

标签: javascript jquery asp.net asp.net-mvc-4


【解决方案1】:

您可以将 Model.mobileid 转换为带有您选择的分隔符的字符串,然后将其转换为 javascript 数组:

<script>
    var k = "@(Model.mobileid == null ? string.Empty : string.Join(",", Model.mobileid))";
    alert(k);
    k = k.split(",");
    k // k is an array at this point
</script>

【讨论】:

  • 它的工作很好,但是有一个问题,if(a==b) { var k = "@(string.Join(",", Model.mobileid))";//Now my mobileid is null, alert(k);} 如果条件为假,但它会进入 if 块,然后显示空引用异常错误。
  • 更新了我的代码。在进一步操作之前,您也可以在第一行之后检查k 的值。
  • 是的,我的 model.mobileid 为空
  • model 不是model.mobileid?
猜你喜欢
  • 1970-01-01
  • 2013-12-26
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多