我经常调用这个方法,但是当搜索列是第一个时,它必须在下次调用此方法时调用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。
答案 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作为静态字段移出方法之外。