본문 바로가기

전체 글88

Json내의 html태그의 이스케이프(Escape) 처리 1. JavaScriptSerializer:string ⇒ JSON변환 using System.Web.Script.Serialization; var json = new JavaScriptSerializer().Serialize("A->B"); // "\"A-\\u003eB\" HTML태그의 이스케이프(escape) 처리 JavaScriptSerializer를 이용하여 JSON으로 변환할 경우, HTML태그는 \u형식의 유니코드로 이스케이프(escape) 처리됩니다. 그렇기 때문에 JSON안의 HTML태그를 그대로 사용하는 것이 불가능하며, “\u003e”⇒”>”와 같이 재차 변환을 해야할 필요가 있습니다. “B\"" HTML태그를 그대로 두고 JSON으로 변환시키고 싶을 경우엔 Json.NET를 사용합니다. 2019. 1. 25.
IIS에서 웹폰트 파일이 404에러를 발생시킬 경우의 해결방법 경위 동작엔 문제가 없지만 어째선지 웹폰트 파일에서 404에러가 발생하고 있었습니다. 참고로 로컬 단말에선 해당 에러는 발생하지 않았습니다. 에러 발생 원인 IIS이 「woff」와 「woff2」의 MIME 타입을 인식할 수 없기 때문에 404에러를 발생시키고 있었습니다. 해결 방법 Web.config에 아래의 내용을 추가해서 「woff」와 「woff2」의 MIME 타입을 인식 시킵니다. ... 2019. 1. 25.
암호화 된 파일을 iis에 업로드 해서 401에러를 발생시켜 보자(...) ※ 일본에서 업무중에 일어난 일이므로 일본어 환경입니다. 서버 에러 401 - 권한이 없음: 잘못된 자격 증명 때문에 액세스가 거부되었습니다. 제공한 자격 증명을 사용하여 이 디렉토리 또는 페이지를 볼 수 있는 권한이 없습니다. 경위 다른 부서에서 디자인 리소스를 납품 받아서 그것을 테스트 서버에 업로드 해 보니 해당 파일은 열람이 불가능한데다가 401에러까지 발생하고 있었습니다. 테스트 서버에 업로드 하기 전에 확인한 제 로컬 단말에서는 멀쩡하게 동작했기에 좀 당황했습니다. 설상가상으로 직접 액세스 해서 파일을 열어 보려고 해도 그것도 안되더군요. 유저 권한도 IIS 설정도 조사해 보았지만 딱히 문제는 없어 보였습니다. 원인 다른 부서에서 납품한 파일이 암호화 되어 있던것이 에러의 원인이었습니다. 위와.. 2019. 1. 25.
ASP.NET MVC : Ajax로 리스트 오브젝트를 Controller로 전달하기 Ajax로 리스트 오브젝트를 Controller로 전달하기 JS var things = [ { id: 1, color: 'yellow' }, { id: 2, color: 'blue' }, { id: 3, color: 'red' } ]; $.post('@Url.Action("PassThings")', { things: things }, function () { $('#result').html('"PassThings()" successfully called.'); }); Controller [HttpPost] public void PassThings(IEnumerable things) { // do stuff with things here... } 2019. 1. 24.
ASP.NET MVC : ModelState에서 에러 메세지를 취득하기 ASP.NET MVC : ModelState의 에러 메세지 리스트를 취득해서 Json으로 반환시키기 위 기사에서도 가볍게 다뤘지만 에러 메세지를 키를 이용해서 취득하는 방법을 추가로 정리해 보았습니다. 0. 아래의 내용처럼 ModelState에 에러를 선언하고 에러 메세지(string 리스트)를 취득하기 ModelState.AddModelError("Parameter", "파라미터에 문제가 발생했습니다. P1"); ModelState.AddModelError("Parameter", "파라미터에 문제가 발생했습니다. P2"); ModelState.AddModelError("Parameter", "파라미터에 문제가 발생했습니다. P3"); ModelState.AddModelError(string.Empty,.. 2019. 1. 24.
ASP.NET MVC : ModelState의 에러 메세지 리스트를 취득해서 Json으로 반환시키기 ASP.NET MVC 에서는 보통 Model의 Validation 체크를 한 다음에 에러를 지정할 경우에는 아래처럼 에러메세지를 설정하고 ModelState.AddModelError("", "xx가 없습니다. 다시 한번 확인해 주세요."); View에서 ValidationSummary나 ValidationMessage을 사용해서 에러 메세지를 표시합니다. @Html.ValidationSummary() @Html.ValidationMessage("hoge") 하지만 Ajax에서 json형식의 리턴값으로서 처리를 끝낸 ModelState의 에러 메세지만을 돌려 받아서 화면에 표시하고 싶을때도 살다보면 생기기 마련입니다... ModelState의 에러 메세지 리스트를 취득해서 Json으로 반환시키기 Json으.. 2019. 1. 24.
C# 자동 구현 속성(auto-property) 자동 구현 속성(get/set 생략 가능) public string FirstName { get; set; } 속성 private string firstName; public string FirstName { get { return this.firstName; } set { this.firstName = value; } } 자동 구현 속성이 매우 편하긴 하지만 필요에 따라선 생략없이 구현해야 하는 상황도 있기 때문에 간단히 복습해 보았습니다. 2019. 1. 24.
ASP.NET MVC : 모든 예외 처리를 일괄 관리하기 참고 사이트 Log All Asp.Net MVC Errors ASP.NET MVC의 필터 기능을 사용해서 웹 어플이케이션 내의 모든 예외를 한 곳에서 처리 하도록 설정합니다. App_Start/FilterConfig.cs using log4net; public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters, ILog logger) { filters.Add(new HandleErrorAttribute()); filters.Add(new ExceptionLoggingFilter(logger)); } } ExceptionLoggingFilter.cs public class ExceptionL.. 2019. 1. 24.
ASP.NET MVC : Url에 점 "."을 포함한 문자열을 허용시키기 ASP.NET MVC의 웹 어플리케이션의 URL에 "."을 표함하는 ID를 건내받기 위해 설정한 내용입니다. 대응으로는 Url에 점 "."을 포함한 문자열을 허용 시킬 필요가 있습니다. Web.config의 system.webServer 안에 있는 handlers에 아래와 같이 기술합니다. 사용 예시 2019. 1. 24.