2012-10-18 3 views
2

저는 방금 사용자 컨트롤로 jQuery UI 컨트롤을위한 ASP .NET 래퍼를 작성했습니다. 다만이 같은 인라인 태그로 사용자 컨트롤 속성 값을 초기화하십시오.

<ui:DatePicker ID="startDate" runat="server" LabelText="Start Date:" /> 

은 현재 내가를 Page_Load 처리기에서이 컨트롤의 초기 값을 설정합니다 :이처럼 사용할 수 있습니다

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      startDate.Value = DateTime.Now.AddMonths(-2); 
     } 
    } 

그러나 나는에 초기화 코드를 이동 좋을 것이라고 생각 마크 업. 그러나 나는 운동을 할 수없는 것은, 예를 들어, 인라인 태그를 사용하여이 컨트롤의 초기 값을 설정하는 방법이다 : 나는 다른 인라인 태그 조합을 시도했습니다

public DateTime? Value 
    { 
     get 
     { 
      DateTime result; 
      if (DateTime.TryParse(dateBox.Text, out result)) 
      { 
       return result; 
      } 
      return null; 
     } 
     set 
     { 
      dateBox.Text = value != null ? value.Value.ToShortDateString() : ""; 
     } 
    } 

:

<ui:DatePicker ID="startDate" Value='<%= DateTime.Now.AddMonths(-2) %>' runat="server" LabelText="Start Date:" /> 

나는 속성이 , 그리고 난 항상 컴파일 오류가 발생합니다. 인라인 태그를 사용하여이를 달성 할 수있는 방법이 있습니까?

+0

컴파일 오류가 무엇입니까? – codingbiz

+0

예 : 'System.Nullable'1'[% System.DateTime, mscorlib, 버전 = 4.0.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089]] ''문자열 형식 '<% DateTime.Now> 형식의 개체를 만들 수 없습니다. %> '값 속성에 대해. – dragonfly

+0

읽어보기 http://stackoverflow.com/questions/370201/why-will-expressions-as-property-values-on-a-server-controls-lead-to-a-co - 이해하는 데 시간이 걸렸습니다. 너무 – codingbiz

답변

0

속성에 실제 날짜 표현을 입력해야합니다. 그 이유는 Asp.Net 컨트롤의 일부 속성도 마찬가지로 작동합니다.

관련 문제