EditorTamplates에서 JQuery를 사용하여 캘린더를 만들고 싶습니다. 하지만 Html.TextBoxFor에서 오는 입력 텍스트의 ID를 얻는 데 어려움을 겪고 있습니다. 보기에 둘 이상의 달력이 있기를 원하기 때문에 그 값을 직접 할당 할 수없고 내 제어의 컨텍스트를 따라야합니다.EditorTemplates의 Html.TextBoxFor에서 ClientId 검색
뷰 :
<%@ Control
Language="C#"
Inherits="MvcContrib.FluentHtml.ModelViewUserControl<DateTimeModel>" %>
<%= Html.LabelFor(x=>x.Date) %>
<%= Html.TextBoxFor(x=>x.Date, new { @class="common-textbox-ui-calendar-tb"})%>
<script>
var CalendarTBId = '<%= this.IdFor(x=>x.Date) %>';
</script>
그리고 모델 :
public class DateTimeModel
{
public DateTime Date { get; set; }
public bool IsEnabled { get; set; }
}
지금까지 내가 MvContrib와 시도,하지만 난이 "Filter_StartDate_Date"을 얻을 것으로 예상했을 때, 나는 단지받을 "날짜 ".
해결할 수있는 아이디어가 있습니까? 사전에
덕분에,
[편집]
나는 내보기에 다음을 추가 한 :
<% Guid ControlGuid = Guid.NewGuid(); %>
<%= this.TextBox(x=> x.Date.ToShortDateString()).Id(ControlGuid.ToString()) %>
<script>
var CalendarTBId = '<%= ControlGuid %>';
</script>
하지만 아주 싫어. 나에게보기에 해킹처럼 보인다. 어떻게 생각해?
[/ 편집]
답변과 답변에 많은 도움을 드리겠습니다. 삼 – Arthis