본문 바로가기

워크

(112)
UserAgent 가져오기 public Task GetUserAgent(string userAgent) { userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3"; bool isMobile = false; Regex b = new Regex(@"(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+fire..
blazor Cookie window.methods = { CreateCookie: function (name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = name + "=" + value + expires + "; path=/"; } } @page "/" @inject IJSRuntime JSRuntime @code { private async void CreateCookie(string name..
sessionStorage localStorage 웹에서 상태를 저장할 때 클라이언트(브라우저)에서는 보통 3가지의 방법이 있다. 1. 전통적인 쿠키 (도메인당 쿠키 수 제한, 용량 제한 4KB) 2. HTML5 브라우저 세션 sessionStorage(5MB 제한, 브라우저를 닫으면 지워짐) 3. HTML5 브라우저 스토리지 localStorage (5MB 제한, 따로 지우지 않는 한 계속 유지됨) ​ 쿠키의 경우 서버측 코드로 접근이 가능하지만 2,3번은 불가능하며 별도의 작업(Header, Parameter)에 담아서 서버 측에 전송 가능하다. (쿠키는 매번 서버로 전송 된다 => 네트워크 트레픽 비용 증가) 모던한 웹 개발에선 2,3 번을 주로 권장한다. localStorage 및 sessionStorage는 다음과 같은 차이점이 있습니다. lo..
blazor MatTab @page "/Events" @inject NavigationManager NavigationManager Change Tab Active tab index: @tabIndex Onclick index: @tabClickIndex First Content Second Content Third Content Fourth Content Fourth Content Fourth Content Fourth Content Fourth Content Fourth Content Fourth Content Fourth Content @code { public int tabIndex = 0; public int tabClickIndex = 0; // to redirect the user, do something like ..
NavigationManager 시트 MyNavigationManager.Uri #> https://localhost:5001/counter/3?q=hi MyNavigationManager.BaseUri` #> https://localhost:5001/ MyNavigationManager.NavigateTo("http://new location") #> Navigates to new location MyNavigationManager.LocationChanged #> An event that fires when the navigation location has changed. MyNavigationManager.ToAbsoluteUri("pepe") #> https://localhost:5001/pepe MyNavigationManager...
BlazorInputFile FileUpload @page "/Up" @using BlazorInputFile @using System.IO @inject IFileUpload FileUpload 단일 파일 업로드 코드 조각 @status @code { string status; private MemoryStream ms = new MemoryStream(); private IFileListEntry[] selectedFiles; void HandleSelection(IFileListEntry[] files) { selectedFiles = files; } private async Task btnSave_Click() { var file = selectedFiles.FirstOrDefault(); if (file != null) { await File..
특정 폴더의 특정 확장자들 지정해서 파일 가져오기 public static List fn_getPcFiles(String pc_fd, List filterList) { List list = new List(); var ext = filterList; foreach (string file in Directory.GetFiles(pc_fd, "*.*").Where(s => ext.Any(e => s.ToLower().EndsWith(e))).OrderByDescending(f => new FileInfo(f).LastWriteTime)) { FileInfo f = new FileInfo(file); list.Add(new string[]{fn_getOnlyFileNm(file) , f.Length.ToString() , f.LastWriteTime.ToSt..
생성 주기 OnInit & OnInitAsync 구성 요소가 초기화될 때 실행되는 동기 및 비동기 이벤트. OnInitialized 가 먼저 실행 되고, OnInitializedAsync 가 실행. 구성 요소가 완전히 로드되면 실행. UI의 각 컨트롤이 초기화 이벤트 이후에 발생 하므로, 이 이벤트에서 데이터를 구성. @page "/LifeCycle" 초기화 동기 비동기 Demo @foreach (var item in evtType) { @item } @functions{ List evtType = new List(); //동기 초기화 protected override void OnInitialized() { evtType.Add("OnInitialized 호출."); } //비동기 초기화 protected ove..