部分视图中的JS从未触发过

时间:2015-12-24 09:04:12

标签: c# jquery partial-views

我有一个包含一些JS的局部视图,但似乎从来没有被解雇过:

我的偏爱:

@model List<String>

@if (Model != null)
{
foreach (var item in Model)
{
    <button id="application-@item" type="button"  class="btn btn-default" onclick="showUses('@item')">@item</button>
}
}


@section scripts
{
<script type="text/javascript">

    $(function () {
        alert("plop");
    });

        </script>
    }

主要观点:

...
<div class="col-md-6 ">
    <h2>Applications</h2>
    <div id="Application" class="btn-group-vertical" role="group">
        @Html.Partial("_ApplicationPartial", null, new ViewDataDictionary())
    </div>
</div>
...
 @section scripts
{
    <script type="text/javascript">

        $(function () {

            $('[id^=univers]').click(function () {

                var selectedButton = $(this).attr('id');
                var selectedUniverse = selectedButton.substring(selectedButton.indexOf('-') + 1, selectedButton.lenght);

                $("#Application").load('@(Url.Action("Application", "UseAndNeed", null, Request.Url.Scheme))?idUniverse=' + selectedUniverse);
            });
        });

    </script>
}

当加载页面时,以及当我使用load()刷新partialView内容时,应该触发警报。

这是正常的行为,JS从未在partialView中被触发或者我是否会错过什么?

1 个答案:

答案 0 :(得分:0)

在部分视图中,document.ready()不会触发。

您可以按照以下方式执行此操作

$.ajax({
type:'get',
url:'/.....',
cache:false,
success:function(){/* Set your records here. Use the returns view hidden variables. */....},
complete:function(){ /*Call your partial view functions here */ }
});

成功通话后,您可以填充部分网格。

喜欢

$('#selector').html(Response);