Pregunta

Quiero hacer un calendario con JQuery a partir de EditorTamplates.Pero estoy luchando para obtener la identificación del texto de entrada que proviene de Html.TextBoxFor.Y como me gustaría tener más de un calendario en una vista, no puedo asignar ese valor directamente y tengo que seguir el contexto de mi control.

La vista:

<%@ 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>

Y el modelo:

public class DateTimeModel 
{
    public DateTime Date { get; set; }
    public bool IsEnabled { get; set; }
}

Hasta ahora he intentado con MvContrib, pero cuando esperaba obtener "Filter_StartDate_Date", recibo solo "Date".

¿Tiene alguna idea brillante para resolver eso?

gracias de antemano,

[Editar]

He añadido lo siguiente a mi vista:

<% Guid ControlGuid = Guid.NewGuid(); %>
<%= this.TextBox(x=> x.Date.ToShortDateString()).Id(ControlGuid.ToString()) %>
<script> 
    var CalendarTBId = '<%= ControlGuid  %>'; 
</script>

Pero no me gusta.Me parece un truco a la vista.¿Qué opinas?

[/ Editar]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top