【发布时间】:2025-12-18 09:55:02
【问题描述】:
这是迄今为止我的索引网站的内容:
<% if (Model.Data != null)
{
if (Model.Data.Rows.Count > 0)
{
var divLoadGif = string.Empty;
var divRealData = string.Empty;
for(int n = 0; n < Model.Data.Rows; n++)
{
divLoadGif = "divLoadGif_" + n.ToString("0000");
divRealData = "divRealData_" + n.ToString("0000");
%>
<div id="<%:divLoadGif%>" style="width: 100%;">
Please wait ...
<img src="/loading.gif" alt="loading ..." />
</div>
<div id="<%:divRealData%>" style="visibility: hidden;">
<div id="column_1" style="width: 25%; float:left;">
This
</div>
<div id="column_2" style="width: 25%; float:left;">
is
</div>
<div id="column_3" style="width: 25%; float:left;">
a test
</div>
<div id="column_4" style="width: 25%; float:left;">
row.
</div>
</div>
<script type="text/javascript">
AsyncFunction(<%: divLoadGif %>, <%: divRealData %>, n);
</script>
<% }
}
}
%>
控制器填写我的Model.Data。例如:
Model.Data.Row应该等于 3。这意味着循环将进行 3 个“循环”。这个想法是在每个“回合”中都应该显示一个加载 gif,而div部分(有 4 列)是不可见的。然后应该调用 JavaScript 函数
AsyncFuntionCall。 (这失败了。)这个 JavaScript 函数变成了两个“div 标签 id”和
n(for 循环的变量)。然后它将使用 AJAX 调用控制器方法。控制器方法还获取 div 标签和
n。最后,控制器方法将被调用 3 次。控制器方法将为每次调用返回一个“结果”。每次调用都需要几秒钟才能将结果返回给 AJAX 功能。
我的 AJAX 调用中的 success: function (result) { result = $.parseJSON(result); ...} 部分
然后将执行以下操作:
解析
result。将
div和id="<%:divLoadGif%>"切换为隐藏。将
div和id="<%:divRealData%>"切换为可见。将 4 个“值”替换为来自
result的解析值。
容易吗?不适合我:-(因为我有一些问题:
循环工作正常。但是 JavaScript 函数
AsyncFunction根本没有被调用!怎么了?我完全不知道如何更改
"This" "is" "a test" "row"中的值 我的 AJAX 调用中的success: function (result) { result = $.parseJSON(result); ...}部分。
【问题讨论】:
标签: javascript ajax asp.net-mvc-2