0

我正在尝试在 asp-mvc4 的另一个视图中显示某个视图的元素

在 index1.cshtml 中:

<div id="divToUpdate"></div>

在 index2.cshtml 中:

<div id="sss"><table id="grid1"></table></div>
<div id="fff">Hello!</div>

在我的 javascript 文件中:

 $('#ThisIsALink').click(function () {
    $('#divToUpdate').load('../Employee/Index #fff');
});

该脚本将显示“你好!” 在 index1.cshtml 的 div 中...但如果我改为写 '../Employee/Index #sss',则不会显示我的表(实际上是 jqgrid)。这是为什么?

4

1 回答 1

0

原因是您的表是由 javascript 创建的。

当使用没有后缀选择器表达式的 URL 调用 .load() 时,内容会在脚本被删除之前传递给 .html()。这会在脚本块被丢弃之前执行它们。但是,如果调用 .load() 时将选择器表达式附加到 URL,则脚本会在 DOM 更新之前被剥离,因此不会执行。

用于您的表的 javascriptjqgrid将不会被执行,因此您的 jqgrid 将不会显示。

于 2012-06-01T06:54:00.500 回答