0

我正在使用 ASP MVC3,我正在使用部分视图,但问题是无法将脚本加载到相同的视图中。以下是我尝试过的代码:

<script type="text/javascript">
    $('#bodytag').load(function () {
        alert('Load was performed.');
    });
</script>
<div class="acc-expand-bkg" id="bodytag">
    <div class="submenu_dropdown clearfix">
        <div class="filter_bar clearfix">
            <div class="left" style="margin-left: 10px;">
                <label style="width: auto; margin-top: 7px;">
                    Standard:</label>
                @Html.DropDownList("teamDetailId", ViewBag.TeamNames as SelectList, null, new { id = "teamDetailId" })
            </div>
        </div>
    </div>
</div>

上面的部分视图没有被脚本加载。我尝试使用 document.ready ,但它都不起作用。你能告诉我同样的工作吗?

先感谢您

4

2 回答 2

1

试试这样:

<script type="text/javascript">
    alert('Load was performed.');
</script>

但通常不应将脚本放置在局部视图中。它们不应与标记混合。通常脚本属于单独的 javascript 文件。所以更好的方法是在一个单独的文件中定义一个 javascript 函数:

function doSomething() {
    alert('Load was performed.');
}

然后在使用 AJAX 加载部分视图后调用此 javascript 函数:

$.ajax({
    url: 'some url',
    type: 'post',
    success: function(result) {
        $('#someId').html(result);
        // the partial view was injected into the DOM => now we could
        // invoke our function:
        doSomething();
    }
});
于 2012-06-13T07:13:55.293 回答
0

load函数用于使用 ajax 从服务器加载内容并更新指定 html 元素的内部内容。您必须将服务器url作为第一个参数传递给该方法。

$('#bodytag').load('ajax/test.html', function() {
  alert('Load was performed.');
});

您必须将脚本块放在 html 下方。

于 2012-06-13T07:14:23.987 回答