2011-01-28 5 views
1

Kentico CMS를 사용하는 데 많은 어려움을 겪고 있지만 마침내 어딘가에 가까워지고 있습니다. 저는 일반 포털 엔진을 사용하고 로컬 설치에서 Kentico 5.5 RC2를 실행하고 있습니다.Kentico - 캘린더를 사용하여 예약 시스템 이벤트 필터링

현재 시스템에서 사용할 수있는 모든 이벤트를 리피터를 사용하여 표시하는 이벤트 페이지가 있습니다. 해당 중계기의 이벤트를 필터링 할 수있는 달력을 사용하고 싶습니다. 나는 이것에 대해 어떻게 갈 것인가?

답변

3

몇 가지가 있습니다.

  • 사용자 정의 사용자 컨트롤
  • 사용자 지정 웹 파트
  • 쿼리 문자열은

가장 쉬운 마지막 하나가 될 것 매개 변수. 또는 처음 두 개와 마지막 두 개를 조합 한 것입니다. 선호하는 방법 (AJAX 달력, jQuery 달력, < asp : Calendar > 등)을 통해 캘린더 컨트롤을 추가하고 텍스트 필드에 채우십시오. 그런 다음 페이지를 다시로드 할 URL 쿼리 문자열을 변경하기 위해 JavaScript를 실행하십시오.

Kentico 중계기의 웹 파트 속성으로 이동하십시오. Content filter->WHERE condition 필드에서 표준 SQL WHERE 절을 작성하고 특수 매크로 : {?QUERYSTRINGPARAMETERNAME?}을 통해 쿼리 문자열 매개 변수를 주입 할 수 있습니다. 예를 들어 http://url/page?myfilter=2{?myfilter?}입니다. 그러면 WHERE 절을 {?myfilter?} = '' OR {?myfilter?} = SqlFieldToCompare과 같이 만들 수 있습니다.

Kentico는 개인적으로 확인하지는 않았지만 보안을 위해 매크로를 벗어났다 고 주장합니다. 그래도 우리를 위해 일합니다.

고객 사용자 정의 컨트롤이나 웹 파트를 사용하는 경우 위의 QueryString 매크로 대신 Control 매크로를 사용하면보다 안전한 다시 게시 메서드를 사용할 수 있습니다.

매크로에 대한 자세한 내용은 Developer's Guide Appendix A Macros을 참조하십시오.

+0

굉장히 많이 답변합니다. 저를위한 다만 작은 사소한 문제, 나는 페이지에 바닐라 asp.net를 전혀 추가하는 방법을 전혀 모른다. 텍스트 상자 또는 단추와 같은 것을 추가하는 방법을 알아 내려면 올바른 방향으로 나를 가리켜 주시겠습니까? 단일 페이지에서 코드 숨김을 수행하는 방법은 무엇입니까? (예 : 위의 를 사용하는 경우 textbox1.Text = calendar1.SelectedDate.ToShortDateString() 등을 말하기 위해 C# 코드를 눌러야합니다.) 그렇게 생각하면 계속 전진 할 수 있습니다. Kentico와 더 많은 관계가 있습니다. .net 코드와 코드 숨김을 조작 할 수 없다면 정말 어렵습니다! –

+0

사실, 이제는 알아 냈습니다 (사용자 정의 웹 파트 사용). 이제 다른 문제가 있습니다. 위의 상태에서 'WHERE'매크로를 사용하려고하지만 파일 내에서 필드를 가져 오는 방법을 모르겠습니다. 예를 들어 이벤트 날짜에 어떻게 액세스합니까? 변환에서 나는 <% # Eval ('EventDate') %>를 사용하고 있습니다.하지만 괜찮습니다. 그러나 여기에서 사용하는 방법을 알아낼 수는 없습니다. –

+0

신경 쓰지 마세요! 그것을 다시 알아 내었다 :). 당신의 도움을 주셔서 감사합니다. –

관련 문제