部分视图不会在第二次迭代的主视图中加载

时间:2017-04-10 19:44:00

标签: jquery jquery-ui

我有一个主页面,我正在加载一个对话框,我在其中加载一个主视图和一个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);
    });
}

1 个答案:

答案 0 :(得分:0)

我已经修复了这个问题,通过使包含部分html页面的Div元素无效。即使部分元素无效,并重新加载html内容。