Pergunta

Quero fazer um calendário com JQuery a partir de um EditorTamplates.Mas estou lutando para obter a id do texto de entrada vindo de Html.TextBoxFor.E como eu gostaria de ter mais de uma agenda em uma visualização, não posso atribuir esse valor diretamente e tenho que seguir o contexto do meu controle.

A 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>

E o modelo:

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

Até agora, tentei com MvContrib, mas quando esperava obter "Filter_StartDate_Date", recebo apenas "Date".

Você tem alguma ideia brilhante para resolver isso?

obrigado antecipadamente,

[Editar]

Eu adicionei o seguinte à minha visualização:

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

Mas eu não gosto disso.Parece um hack para a vista para mim.O que você acha?

[/ Editar]

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top