【发布时间】:2011-06-17 09:21:26
【问题描述】:
从一个 ajax 调用我得到一个 div 和一个用另一个 ajax 调用填充 div 的脚本。 问题是脚本运行时找不到 div。
这是剃须刀代码:
@model int
@{
var id = string.Format("riga_{0}", Model);
}
<div id="@id">
wait please...
</div>
<script type="text/javascript">
$("#" + "@id").load("/RigaMovimento/Details/@Model");
</script>
生成这个:
<div id="riga_79">
wait please...
</div>
<script type="text/javascript">
$("#" + "riga_79").load("/RigaMovimento/Details/79");
</script>
回答
不漂亮,但有效:
@using (Ajax.BeginForm("Create", new { movimentoId = Model.MovimentoId }, new AjaxOptions() { InsertionMode = InsertionMode.InsertAfter, UpdateTargetId = "righe", OnSuccess = "run_after" }))
{
<input type="submit" value="New" />
}
<script type="text/javascript">
var run_after;
</script>
创建视图:
@model int
@{
var id = string.Format("riga_{0}", Model);
}
<div id="@id">
wait please...
</div>
<script type="text/javascript">
run_after = function () {
$('#' + '@id').load(
"/RigaMovimento/Details/@Model",
null,
function() { $('#' + '@id').fadeIn('slow'); } );
}
</script>
【问题讨论】: