Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选项卡更改时保留局部视图的状态_Jquery_Asp.net Mvc_Jquery Ui - Fatal编程技术网

Jquery 选项卡更改时保留局部视图的状态

Jquery 选项卡更改时保留局部视图的状态,jquery,asp.net-mvc,jquery-ui,Jquery,Asp.net Mvc,Jquery Ui,我正在使用JQuery选项卡,在选项卡2中我设计了一个搜索页面,该页面对8个字段进行动态搜索,并在网格上显示结果,我正在使用局部视图设计选项卡2的设计。 我遇到的问题是,当我从一个选项卡切换到另一个选项卡时,我会丢失搜索结果。 有人能帮我吗 在SearchContract选项卡中,我可以使用fixheadtable网格按编号、日期、部门等搜索合同,并在同一部分视图中显示搜索结果 选择搜索条件并进行搜索后,结果将显示在网格中。但一旦我打开一个标签,回到同一个标签,我就失去了我的网格结果和搜索条件

我正在使用JQuery选项卡,在选项卡2中我设计了一个搜索页面,该页面对8个字段进行动态搜索,并在网格上显示结果,我正在使用局部视图设计选项卡2的设计。 我遇到的问题是,当我从一个选项卡切换到另一个选项卡时,我会丢失搜索结果。 有人能帮我吗

在SearchContract选项卡中,我可以使用fixheadtable网格按编号、日期、部门等搜索合同,并在同一部分视图中显示搜索结果

选择搜索条件并进行搜索后,结果将显示在网格中。但一旦我打开一个标签,回到同一个标签,我就失去了我的网格结果和搜索条件

任何帮助都将不胜感激

$("#HrTabStripContainer").tabs({
        create: OnCreateDefaultTabHandler,
        beforeActivate: BeforeActivateTabHandler,
        cache:true,
        active: 0,
        disabled : [2]

});
OnCreateDefaultTabHandler = function () {
        LoadNewContract();
        LoadSearchContract();
    //disable others
}
BeforeActivateTabHandler = function (event, ui) {
    switch ($(ui.newTab).index()) {
        case 0:
            LoadNewContract()
            break;
        case 1:
            LoadSearchContract();
            break;
        case 2:
            LoadEditContract();
            break;
        default:
            //ToDo: Log error...low priority
    }
}

var LoadSearchContract = function () {
    $("#HrTabStripContainer").tabs({ disabled: [2] });
    $("#_SearchContract").load("Contracts/_SearchContract");

};
在我使用的控制器中

$(document).ready(function () {       
    $("#contractNumber").val("");
    var btnFindContract = $("#btnFindContract");
    fixedTblFindEmployee();
    // tblScrollFindEmployee();
    btnFindContract.on("click", (function (e) {
        e.preventDefault();
        $("#findCntrctTable tbody").empty();          
        searchContract();          

    }));


    function searchContract() {          
        var searchCriteria = {
            ContractNBR: $("#srchCntrctNbr").val(),
            RequestingOfficeDistrict: $("#srchofficeDist").val(),
            Contractor: $("#srchCntrctr").val(),
            SPNBR: $("#SP").val(),
            Contract_Stat: $("#srchCntrctStatus option:selected").text(),
            ContractType: $("#srchCntrctType option:selected").text(),
            PayableReceivable: $("#srchPayRec option:selected").text(),
            FromDate: $('#srchReqStrtDt').val(),
            ToDate: $('#srchReqEndDt').val(),
        }
        $.ajax({
            url: "Contracts/LoadContractList",
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            data: { 'searchCriteria': JSON.stringify(searchCriteria) },
            cache: false
        }).done(function (data, e) {
            writetable(data);
        });

    };


    function writetable(data) {         
        var tableOutline = '';          
        for (var i = 0; i < data.length; i++) {
            var id = 'row' + data[i].ContractNumber;
            tableOutline = tableOutline + '<tr id="row_' + data[i].ContractNumber + '" onclick="getCntrctNbr(this,' + data[i].ContractNumber + ')"><td><a>';
            tableOutline = tableOutline + data[i].ContractNumber + '</a></td><td>' + data[i].RequestorName + '</td><td>' + data[i].RequestingOffDisct + '</td><td>' + formatJSONDate(data[i].RequestedDate) + '</td><td>' + data[i].ContractStatus + '</td><td>' + formatCurrency(data[i].EstimateContractCost) + '</td><td>' + data[i].ContractType + '</td><td>' + data[i].PayReceivable + '</td></tr>';
        }
            tableOutline = tableOutline;
            $('#findCntrctTable').append(tableOutline);
            $('#findCntrctTable').show();
        }
[HttpGet]

   public ActionResult _SearchContract()
   {
       var model = new SearchContractModel();
       model.SelPayRec = null;
       model.srchPayRec = ViewDataTasks.GetPayableReceivable();
       model.srchCntrctType = ViewDataTasks.GetContractTypes();
       model.srchCntrctStatus = ViewDataTasks.getContractStatus();
       return PartialView(model);
   }
从局部来看,我正在使用

$(document).ready(function () {       
    $("#contractNumber").val("");
    var btnFindContract = $("#btnFindContract");
    fixedTblFindEmployee();
    // tblScrollFindEmployee();
    btnFindContract.on("click", (function (e) {
        e.preventDefault();
        $("#findCntrctTable tbody").empty();          
        searchContract();          

    }));


    function searchContract() {          
        var searchCriteria = {
            ContractNBR: $("#srchCntrctNbr").val(),
            RequestingOfficeDistrict: $("#srchofficeDist").val(),
            Contractor: $("#srchCntrctr").val(),
            SPNBR: $("#SP").val(),
            Contract_Stat: $("#srchCntrctStatus option:selected").text(),
            ContractType: $("#srchCntrctType option:selected").text(),
            PayableReceivable: $("#srchPayRec option:selected").text(),
            FromDate: $('#srchReqStrtDt').val(),
            ToDate: $('#srchReqEndDt').val(),
        }
        $.ajax({
            url: "Contracts/LoadContractList",
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            data: { 'searchCriteria': JSON.stringify(searchCriteria) },
            cache: false
        }).done(function (data, e) {
            writetable(data);
        });

    };


    function writetable(data) {         
        var tableOutline = '';          
        for (var i = 0; i < data.length; i++) {
            var id = 'row' + data[i].ContractNumber;
            tableOutline = tableOutline + '<tr id="row_' + data[i].ContractNumber + '" onclick="getCntrctNbr(this,' + data[i].ContractNumber + ')"><td><a>';
            tableOutline = tableOutline + data[i].ContractNumber + '</a></td><td>' + data[i].RequestorName + '</td><td>' + data[i].RequestingOffDisct + '</td><td>' + formatJSONDate(data[i].RequestedDate) + '</td><td>' + data[i].ContractStatus + '</td><td>' + formatCurrency(data[i].EstimateContractCost) + '</td><td>' + data[i].ContractType + '</td><td>' + data[i].PayReceivable + '</td></tr>';
        }
            tableOutline = tableOutline;
            $('#findCntrctTable').append(tableOutline);
            $('#findCntrctTable').show();
        }

你能解释一下失去我的搜索结果是什么意思吗。这些结果是什么?结果在哪里?是特定选项卡上的结果,还是与选项卡小部件分离的元素上的结果?您的合同/合同行动中发生了什么?其他选项卡上发生了什么?您使用的jQueryUI版本是什么?您可能正在使用。每次切换选项卡时都会从服务器重新加载$\u SearchContract.loadContracts//u SearchContract;所以你的内容将被重置。但我已经在OnCreateDefaultTabHandler和BeforeActiveTabHandlerRight期间在LoadSearchContract函数中进行了操作,它会重新加载页面,这是你不希望发生的。一旦它重新加载,我就失去了我搜索的所有数据。我需要保留价值。