我想在每次调用此方法时保持totalNumberOfRecords

时间:2017-06-23 11:28:09

标签: c#

我经常调用这个方法,但是当搜索列是第一个时,它必须在下次调用此方法时调用totalNumberOfRecords方法,它应该保持tototalNumberOfRecords。

public static EGResponse<List<Assets>> GetPlantAttributes(string templateId, string searchColumn, string searchValue, string pageCount)
    {
        string query = string.Empty;
        //int totalNumberOfRecords = 0;
        List<Assets> summary = null;
        DateTime currentdate=DateTime.Now;
        EGResponse<List<Assets>> resp = new EGResponse<List<Assets>>(EGResult.Failure, null, EGDataLayer.CommonUtility.OPERATIONFAIL);
        int totalNumberOfRecords;

        if (!string.IsNullOrEmpty(searchColumn) && searchColumn == "Empty")
        {
            totalNumberOfRecords = 0;
            pageCount = "0";
        }
        else
        {
            ////if (!string.IsNullOrEmpty(searchValue) && searchValue == "Empty" && totalNumberOfRecords<0)
            //{
            //    totalNumberOfRecords = GetCountOfPlantAttributes(searchColumn, searchValue);
            //}

            //totalNumberOfRecords = GetCountOfPlantAttributes(searchColumn, searchValue);
            if (pageCount.ToLower() == "first" && !string.IsNullOrEmpty(searchValue) )
            {
                pageCount = "0";
                totalNumberOfRecords = GetCountOfPlantAttributes(searchColumn, searchValue);
            }

            if (pageCount.ToLower() == "last")
            {
                //totalNumberOfRecords = GetCountOfPlantAttributes(searchColumn, searchValue);
                pageCount = (totalNumberOfRecords / 20).ToString();
            }
        }

GetCountOfPlantAttributes的方法将返回数据表中的totalNumberOfRecords。

2 个答案:

答案 0 :(得分:0)

  

下次当我打电话给这种方法时,它应该保持   tototalNumberOfRecords。

不,这是不可能的,因为它是一个局部变量(方法的本地变量),如下面的代码所示,因此一旦方法执行结束就会超出范围。如果你想保留它然后使用某种存储机制..在平面文件或DB或缓存等...再次如果它是任何Web应用程序然后你可以使用session但不确定关于你的帖子

public static EGResponse<List<Assets>> GetPlantAttributes(string templateId, string searchColumn, string searchValue, string pageCount)
    {
        string query = string.Empty;
        .....
        int totalNumberOfRecords;

答案 1 :(得分:0)

如果您完全确定不会同时从多个线程调用您的方法,则可以将totalNumberOfRecords作为静态字段移出方法之外。