웹폼에서사용했던 안 보이는 버튼을 이용한 비하인드 함수 호출을 'ASP.NET MVC'에서도 사용할 수 있습니다. (참고 : [ASP.Net] 자바스크립트에서 비하인드 호출하기) 그런데 MS가 'ajax.net'을 포기하는 뉘앙스인 데다 MVC에서는 'ajax.net'를 사용하는데 번거로운 편이라 그냥 제이쿼리(JQuery)의 아작스(ajax)기능을 이용하여 비하인드 함수를 호출해 보겠습니다. 0. 테스트용 코드 테스트를 위해 HTML코드를 다음과 같이 작성합니다. 이렇게 코드를 작성했다면 다음과 같이 동작합니다. 비하인드 코드는 다음과 같이 작성합니다. [HttpPost] public JsonResult AjaxCall(string sData) { return Json(new { sReturn = "M..
기본 부트스트랩에는 태그에 대한 스타일 시트나 자바스크립트가 없습니다. 그런데 다행히도 누군가 만들어 둔것이 있군요 ㅎㅎ 1. Bootstrap-select 'Bootstrap-select'라는 프로젝트입니다. 부트스트랩을 사용할때 태그의 디자인과 기능을 확장해줍니다. (참고 : silviomoreto - bootstrap-select ) 1-1. 설치 설치는 간단합니다. 다운로드 받은 파일중 'bootstrap-select.min.js'와 'bootstrap-select.min.css'를 원하는 위치에 넣고 웹페이지에서 임포트 해줍니다. (위치는 제이쿼리 위에 부트스트랩 아래 위치하는게 좋을듯 하네요.) 1-2. 추가 코드 그냥 이상태로 넣고 사용하면 아무런 동작을 하지 않습니다-_-;;; 결국 셈플을..
자바스크립트는 독특한 것들이 많은데 그중 하나가 연관배열입니다. 직접적으로 연관배열이 지원되는 언어는 많지 않은걸로 알고 있는데 말이죠 ㅎㅎㅎ (참고 : 위키백과 - 연관 배열) 1. 연관 배열 이란? 일반적으로 배열에 접근하기 위해서 인덱스(index, 첨자)를 이용하여 접근합니다. int nArray[10]; nArray[3] = 11; nArray[9] = 13; 이런 식입니다. 그런데 자바스크립에서는 위와 같은 일반적인 방법 이외에도 인덱스대신 문자열을 이용하여 접근 할수 있습니다. int nArray = new Array(10); nArray["Val01"] = 11; nArray["Val01"] = 13; 이렇게 말이죠. 이렇게 인덱스가 아닌 키로 배열에 접근하는 것을 연관배열이라고 합니다. ..
아작스의 기원은 특정영역만 갱신하는 것이기 때문에 아작스영역안에서 포스백이 일어나면 '부분 포스트백'이라고 부릅니다. 당연히 페이지 포스트백은 일어나지 않을 것이라고 생각했습니다. 그런데 아니네요 ㅡ,.ㅡ; (참고 : MSDN Magazine - AJAX 응용 프로그램 아키텍처, 1부 ) 1. 문제 발견하기 아작스영역안에 버튼을 넣고 눌러 봅시다. 중단점을 잡아보면 페이지 로드에서 중단점이 잡힙니다. 신기하게도 페이지의 UI는 갱신이 되지 않네요 ㅡ.ㅡ;; 이 이야기는 업데이트페널이 각자 돌아간다고 생각하고 있는 우리의 상식을 벗어납니다. 1-1. 테스트용 코드 테스트를 위해서 '웹응용프로그램'프로젝트를 생성하고 웹폼을 추가 합니다. 그리고 아래 코드를 넣습니다. 페이지 Ajax1 Ajax2 비하인드는 ..
일반적인 응용프로그램을 만들 때 콘솔에 값을 출력하여 값을 확인하는 경우는 흔합니다. 보통 비주얼 스튜디오에서는 '보기 > 출력'을 통해서 확인합니다. 1. 'ASP.NET'에서 콘솔 출력하기 ASP.NET에서는 'System.Diagnostics'를 이용하여 출력해야 합니다. (참고 : MSDN - 연습: ASP.NET 추적을 System.Diagnostics 추적과 통합) System.Diagnostics.Trace.WriteLine("[출력할 내용]"); 2. 일반적인 .NET 응용프로그램의 경우 보통 응용프로그램을 만들면 그냥 'Console'을 이용하면 됩니다. Console.WriteLine([내용]); 마무리 ASP.NET에서는 콘솔출력을 하면 아무런 내용이 나오지 않습니다. 검색해보니 응용..
1. 문제의 발견 구글 Closure Compiler를 사용하다가 다음과 같은 오류가 났습니다. JSC_TRAILING_COMMA: Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option. at line 5 character 2 in HelloWorld.js BG: "background", ^ 앵? 번역을 해보니 자바스크립트에서 쉼표가 잘못되서 IE8에서 문제가 될 수 있다나 머라나;;; (대충 표준에 안 맞다는 소리입니다.) 2. 해결 방법..
웹디자인의 이슈 중 하나가 반응형 디자인입니다. 반응형 디자인이라는 건 해상도가 변해도 다른 작업 없이 레이아웃이 구성되도록 하는 것을 말합니다. (유동 디자인, 능동형 디자인 등으로 부릅니다.) 해상도에 따라 다른 화면이 아닌 일정한 화면을 보여주는 방식으로 크로스 브라우징을 해결하려고 하는 생각은 이전부터 있었습니다. 그런데 이 방법의 가장 큰 문제는 한가지 스타일만 가지고는 이 문제를 해결할 수 없다는 점입니다. 그래서 생겨난 것이 '@media'인데.... 미리 정의한 타입들만 가지고는 한계가 있다는 문제점이 있습니다. (참고 : sixmen - Media Query ) 그래서 CSS3에서는 미디어 쿼리라는 것이 생겼습니다. 1. 문제의 시작 특정 범위의 해상도에서는 한가지 스타일만 가지고 있어도..
이전 글에서 뷰 엔진에서 모델의 특정 속성을 가지고 오는 방법을 알려 드렸습니다. (참고 : [Asp.net MVC 4] 뷰 엔진에서 모델(Model)의 속성(Attribute) 표시하기 ) 그런데 'HtmlHelper'는 컨트롤러에서 사용할 수 없다고 했습니다. 결국 컨트롤러에서 해당 메서드를 사용하고 싶다면 'HtmlHelper'를 빼고 동작하는 메서드가 있어야 합니다. 1. 확장메서드 복습하기 전글에서 사용한 코드를 다시한번 보죠. using System.Linq.Expressions; namespace System.Web.Mvc.Html { public static class DisplayDescriptionExtensions { public static string GetDescription(t..
남이 만들어논 코드 분석하고 있는데.... 0x80004001 - Microsoft JScript 런타임 오류: 구현되지 않았습니다. 분명 잘 작동하는 코드이고 검증이 끝난 코드인지라 물어볼때도 없고 ㅡ.-;;; 구글 검색해도 그렇다할 내용은 나오지 않습니다. 그러던중...... 아! 제가 서버에 원격으로 붙어서 작업 하고 있는데 서버는 사운드카드가 없습니다.... "에이~설마" 하면서 개발피씨에서 돌려보니 돌아가네 ㅡ,.ㅡ;;;; 문제는 사운드카드가 없는 pc에서는 오류때문에 웹페이지만 멀뚱멀뚱 봐야 한다는 것입니다-_-;;;;;; 그러니 사운드카드가 사용가능한지 확인하고 나서 사운드 관련작업을 해야 한다는 이야기 입니다. ㅎㅎㅎ 사운드카드 자체를 확인할 방법은 편법(윈도우 미디어 플래이어의 'IsSo..
오류 발견 요즘 만들게 있어서 자바스크립트 공부를 다시 하고 있는데... 만들다 보니 에러 메시지도 없이 자바스크립트가 작동하지 않아 개발자도구를 열어보니... SCRIPT28: 스택 공간 부족 연관글 영역 해결 방법 검색해보니 보통은 무한루프가 돌면 발생한다고 합니다. 결국 이 오류 나면 코드를 다시 확인해봐야 한다는 거죠. 찾는 방법은 1) 무한루프가 의심되는 곳에 로그를 찍어 봅니다. - console.log("로그"); 2) 해당 지점에 중단점을 찍어보고 호출 스택이 어디서 반복되는지 확인해 봅니다. 마무리 초보적인 실수이면서도 찾기 힘들 수도 있는 버그입니다 ㅎㅎㅎ