【发布时间】:2017-05-23 05:45:45
【问题描述】:
在 MVC 应用程序中,我有一个访问模型元素的 javascript,如下所示:
<script type="text/javascript">
$(function () { setColors(); });
function setColors() {
var results = @Html.Raw(Json.Encode(Model.saVM.results));
$(results).each(function (indexRes, itemRes){
alert(itemRes.ResultTypeID);
});
}
</script>
Model.saVM.results (ResultTypeID) 中的一个属性最初为 null,但是当我重新加载表时,此属性有一个值。但是在我的 setColor 函数中,这个属性仍然为空。
_SearchPanel
function refreshGrid() {
$('#mapsDiv').load(url, { ... },
function (data) {});
setColors();}
第一个脚本出现在 About.cshtml 中,而 refreshGrid 函数出现在另一个局部视图 (_SearchPanel) 中
关于.cshtml
@model SuperMapModel
<div>
@Html.Partial("_SearchPanel", Model.scM)
</div>
<div class="row">
<div class="col-md-12 table-responsive" id="mapsDiv">
@Html.Partial("~/Views/Maps/_MapDetailsList.cshtml", Model.saVM)
</div>
</div>
<script> ... </script>
部分视图_MapDetailsList包含与Model.saVM绑定的html表...
在刷新/重新加载网格时,我再次调用 setColor 函数并再次 ResultTypeID 属性为空
function refreshGrid() { setColors();}
【问题讨论】:
-
你能把
setColors()函数放在局部视图中吗? -
成功的哟:)
-
你是添加答案还是我会添加?
-
好的。然后将作为答案发布;)
-
出于好奇,让我看看你到底想通过在 javascript 中循环结果来实现什么?
标签: javascript html json asp.net-mvc model