public void EncodeSqlStringTest() { Console.WriteLine(SqlUtility.EncodeSqlString("@'_%")); }
public async Task OnGetAsync() { int pageIndex = 0; int pageSize = 2; string SearchField = "Name"; string SearchQuery = string.Empty; #region 검색모드확인 if ( !String.IsNullOrEmpty(Request.Query["SearchQuery"]) && !String.IsNullOrEmpty(Request.Query["SearchField"])) { SearchMode = true; SearchField = SqlUtility.EncodeSqlString(Request.Query["SearchField"]); // 검색할 필드 SearchQuery = SqlUtility.EncodeSqlString(Request.Query["SearchQuery"]); // 검색할 내용 } #endregion IQueryable <Product> products = _repo.ProductList(); if (SearchMode == true) { switch (SearchField) { case "ModelName": products = products.Where(p => p.ModelName.Contains(SearchQuery)); break; default: products = products.Where(p => p.Name.Contains(SearchQuery)); break; } } //[1] 쿼리스트링에 따른 페이지 보여주기 if (!string.IsNullOrEmpty(Request.Query["Page"].ToString())) { // Page는 보여지는 쪽은 1, 2, 3, ... 코드단에서는 0, 1, 2, ... pageIndex = Convert.ToInt32(Request.Query["Page"]) - 1; Response.Cookies.Append("Page", pageIndex.ToString()); } else { if (SearchMode == true) { pageIndex = 0; } else { if (!String.IsNullOrEmpty(Request.Cookies["Page"])) { pageIndex = Convert.ToInt32(Request.Cookies["Page"]); } } } //IProducts = await products.OrderByDescending(p => p.Id) // .Skip((pageIndex) * pageSize).Take(pageSize).ToListAsync(); IProducts = await _repo.PagingAsync(products, pageIndex, pageSize); TotalCount = products.Count(); PageIndex = pageIndex + 1; //Cookie를 테스트 하기 위해 작성한 것임... if (Request.Cookies["cookieValue"] != null) { cookieValue = Request.Cookies["cookieValue"].ToString(); } else { cookieValue = $"쿠키값 없음"; } //var random = new Random().Next().ToString(); var random = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); Response.Cookies.Append("cookieValue", random); }