标签更改时保留部分视图的状态

时间:2015-01-09 16:03:18

标签: jquery asp.net-mvc jquery-ui

我正在使用JQuery Tab,在Tab 2中我设计了一个搜索页面,它在8个字段上进行动态搜索并在网格上显示结果,我正在利用局部视图来设计Tab 2设计。 我遇到的问题是,当我从一个标签转移到另一个标签时,我的搜索结果将丢失。 有些人可以帮我吗

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

一旦我选择了我的搜索条件并进行搜索,结果就会显示在网格中。但是一旦我退出并返回相同的标签,我就会失去网格结果以及搜索条件

任何帮助将不胜感激。

$("#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");

};

在控制器中我正在使用

[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();
        }

0 个答案:

没有答案