Domanda

Voglio creare un calendario con JQuery da un EditorTamplates.Ma sto lottando per ottenere l'id del testo di input proveniente da Html.TextBoxFor.E poiché vorrei avere più di un calendario in una vista, non posso assegnare direttamente quel valore e devo seguire il contesto del mio controllo.

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>

E il modello:

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

Finora ho provato con MvContrib, ma quando mi sarei aspettato di ottenere "Filter_StartDate_Date", ricevo solo "Date".

Hai idee brillanti per risolverlo?

grazie in anticipo,

[Modifica]

Ho aggiunto quanto segue alla mia visualizzazione:

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

Ma non mi piace abbastanza.A me sembra un trucco per la vista.Cosa ne pensi?

[/ Modifica]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top