我有一个主页面,我正在加载一个对话框,我在其中加载一个主视图和一个div元素的局部视图。 即主页面 - >点击链接 - >打开对话 - >将主视图加载到Div元素 - >将局部视图加载到主视图中的div元素。
问题:流程适用于第一次迭代,而对于第二次迭代,仅部分视图不会渲染。
第一次迭代时,部分视图会加载到SkillresultDiv
元素中。但是,当用户关闭对话框并再次重新打开时,仅部分视图不会加载。知道我错过了什么吗?但是当我移动到不同的页面,并再次回到同一页面时,一切正常。
Main.cshtml文件
<div>
@Html.ActionLink("UpdateSkill", "AddNewSkill", "Manager", new { @class = "mypopup" })
</div>
<script src="~/Scripts/DMPScript/Manager.js"></script>
Inside Manager.js file
$('.mypopup').click(function () {
debugger;
var fname = $("#FirstName").val();
var lname = $("#LastName").val();
$('<div/>').appendTo('body').dialog({
close: function (event, ui) {
},
modal: true,
height: 'auto',
width: 800,
closeOnEscape: false,
position: { my: "top", at: "top", of: window },
title: 'Add/View Skill - ' + lname +',' + fname
}).load(this.href, {});
return false;
});
inside Mainskillview.cshtml
<div id="SkillresultDiv"></div>
<script src="~/Scripts/DMPScript/AddEditSkill.js"></script>
Partial view gets load into the above tag, and the code for that is included in the AddEditskill.js script
$(document).ready(function () {
getSkillinfo();
});
function getSkillinfo() {
debugger;
$('#SkillresultDiv').html('');
var id = $('#ResourceId').val();
var request = $.ajax({
url: "/Manager/Getskillinfo",
type: "POST",
data: {
Rid: id
},
});
request.done(function (result) {
if (result != null) {
$('#SkillresultDiv').html(result);
}
else {
$('#noResultErrorMsg').removeProp('hidden');
}
});
request.fail(function (jqXHR, textStatus) {
$('#SkillresultDiv').html(jqXHR.responseText);
});
}
答案 0 :(得分:0)
我已经修复了这个问题,通过使包含部分html页面的Div元素无效。即使部分元素无效,并重新加载html内容。