我有一个包含一些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中被触发或者我是否会错过什么?
答案 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);