【发布时间】:2015-03-29 03:25:35
【问题描述】:
我有一个主视图,其中有一个按钮“AddSkillBtn”,单击该按钮会显示一个模态弹出窗口,里面有一个局部视图。到目前为止工作正常。现在我需要在加载局部视图时进行一些 ajax 调用。但是我不能在局部视图中调用 .on 'load'。关于如何实现这一目标的任何想法?以下是我拥有的代码 - 提前致谢!
**jQuery:**
$('#AddSkillBtn').click(function (e) {
$.ajax({
url: '@Url.Action("MyAction", "MyController")',
type: "POST"
success: function (result) {
$("#AddContainer").html(result);
$('#AddModal').modal('show'); // this works properly
}
});
});
//below jquery code is incorrect - but I need something to trigger the partial view on load event!!
$(document).on('load?', "PartialView?", function() {
$.ajax({
//call another action here that needs to be shown on the partial view load
}).success(function (partialView) {
$('#newSkills').append(partialView);
});
});
<p><a id="AddSkillBtn" href="javascript:void(0)" class="btn btn-rounded btn-primary">Add new Skill</a></p>
<div class="modal modal-wide fade" id="AddModal" tabindex="-1" role="dialog" aria-labelledby="AddLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="AddLabel">Add New Skills</h4>
</div>
<div class="modal-body">
<div id="AddContainer">
</div>
</div>
</div>
</div>
</div>
**Partial View rendered in the modal popup has**
<div id="newSkills"> // ajax call to render this, which should happen on load of this partial view
@for (int i = 0; i < @Model.NewSkills.Count(); i++)
{
@Html.EditorFor(model => @Model.NewSkills[i])
}
</div>
【问题讨论】:
-
那么你到底想在加载时做什么?你能解释一下吗?
-
我想在模态弹出窗口中加载部分视图时动态创建一个 div - 有帮助吗?
-
好吧,我认为您在单击按钮时应该在模态中打开一个动作(如果您不知道该怎么做,我可以提供帮助),这个动作应该返回一个 View ,在这个视图中你可以渲染另一个你想要的动作,和你想要的部分,我认为如果你这样做应该没有任何问题,
-
我不知道如何在模态中打开一个动作。你能提供更多信息吗?
-
好的,我马上做
标签: jquery ajax modal-dialog asp.net-mvc-5 asp.net-mvc-partialview