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 に答える