我想訪問在 ReportingConcrete 類檔案的 messageLogs.cshtml 檔案中查詢的日志 LINQ 查詢物件
此日志 LINQ 查詢是從 Razor GridView 查詢的物件搜索(在 messageLogs.cshtml 中),我希望將其決議為 ReportingConcrete 類,以便它根據查詢的物件輸出 excel 報告。
總結一下,我只想為 Razor GridView 中搜索的欄位匯出 excel 報告。(如果有任何搜索)。
如果 Gridview 中沒有搜索,則應該從整個資料庫的詳細資訊生成 Excel 報告。(我已經有了這個)。
ReportingConcrete.cs
messageLogs.cshtml.cs
try
{
//var logsList = await context.MessageArchive.FindAsync();
var logs = await context.MessageArchive
.Include(x => x.Conversation).ToListAsync();
if (!string.IsNullOrEmpty(Request.Form["number"])) //If only number entered
{
NumberSearched = Convert.ToString(Request.Form["number"]);
logs = logs.Where(x => x.PhoneNumber == NumberSearched).ToList(); //Gathers all results from thelogs
//logsList = logs.Where(x => x.PhoneNumber == NumberSearched).to;
}
else if (!string.IsNullOrEmpty(Request.Form["fromDate"])) //If fromDate entered
{
fromDate = Convert.ToDateTime(Request.Form["fromDate"]);
logs = logs.Where(x => x.MessageDate >= fromDate).ToList(); //Gathers all results from the fromDate
if (!string.IsNullOrEmpty(Request.Form["toDate"])) //if form has toDate. Then logs list will include toDate parameters
{
toDate = Convert.ToDateTime(Request.Form["toDate"]);
logs = logs.Where(x => x.MessageDate <= toDate).ToList();
}
}
else if (!string.IsNullOrEmpty(Request.Form["toDate"])) //If toDate entered
{
toDate = Convert.ToDateTime(Request.Form["toDate"]);
logs = logs.Where(x => x.MessageDate <= toDate).ToList(); //Gathers all results from the toDate
}
uj5u.com熱心網友回復:
將 cshtml.cs 中的 Object 串列決議為 Class 然后在 ReportingConcrete 類中檢索并訪問該類。
` ArchiveExcelClass archiveExcelClass = new ArchiveExcelClass();
var listofusers = new ArchiveExcelClass
{
ArchiveExcel = logs, //.ToList()
//ConversationId = logs.,
//PhoneNumber = logsList.PhoneNumber,
//MessageDate = archiveExcelViewModel.MessageDate,
//Status = archiveExcelViewModel.Status,
//Body = archiveExcelViewModel.Body,
};
return listofusers;`
var gridSearch = _archiveExcelClass.ArchiveExcel;
if (gridSearch != null)
{
foreach (var item in gridSearch)
{
var listofusers = (from ArchiveExcelClass in _archiveExcelClass.ArchiveExcel
//_databaseContext.MessageArchive.AsNoTracking()
/*var listofusers =*/
select new userViewModel
{
ConversationId = item.Id.ToString(),
PhoneNumber = item.PhoneNumber,
MessageDate = item.MessageDate,
Status = item.Status.ToString(),
Body = item.Body,
});
return (List<userViewModel>)listofusers; // return listofusers;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/519416.html
