Din*_*ndi 1 asp.net model asp.net-mvc-4
通过网站我得到了如何在JavaScript中访问模型以及如何在javascript中循环它.我正在使用文本标签来访问模型中的项目.当我使用我无法添加休息时.
@foreach (var item in Model.ArrayDetails)
{
var checklower = false;
var checkUpper = false;
var loopentered = false;
<text>
if(@item.Id ==1)
{
if(@item.LowerBound <= obj.value)
{
loopentered=true;
checklower=true;
}
if(loopentered)
{
alert(@item.UpperBound <= obj.value);
if(@item.UpperBound <= obj.value)
{
checkUpper = true;
}
}
if(checkUpper && checklower)
{
***// here i want to add break statement(if i add javascript wont work)***
}
}
</text>
}
Run Code Online (Sandbox Code Playgroud)
有人可以建议我怎么解决这个问题.
不要写这个汤.JSON将您的模型序列化为javascript变量,并使用此javascript变量编写您的javascript代码.现在你有一个糟糕的服务器端和客户端代码混合.
这就是我在实践中的意思:
<script type="text/javascript">
// Here we serialize the Model.ArrayDetails into a javascript array
var items = @Html.Raw(Json.Encode(Model.ArrayDetails));
// This here is PURE javascript, it could (AND IT SHOULD) go into
// a separate javascript file containing this logic to which you could
// simply pass the items variable
for (var i = 0; i < items.length; i++) {
var item = items[i];
var checklower = false;
var checkUpper = false;
var loopentered = false;
if (item.Id == 1) {
if (item.LowerBound <= obj.value) {
loopentered = true;
checklower = true;
}
if (loopentered) {
alert(item.UpperBound <= obj.value);
if(item.UpperBound <= obj.value) {
checkUpper = true;
}
}
if (checkUpper && checklower) {
break;
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
将javascript移动到单独的文件后,您的视图将变为:
<script type="text/javascript">
// Here we serialize the Model.ArrayDetails into a javascript array
var items = @Html.Raw(Json.Encode(Model.ArrayDetails));
myFunctionDefinedIntoASeparateJavaScriptFile(items);
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6069 次 |
| 最近记录: |