Come disattivare le date precedenti durante l'utilizzo in ajaxToolkit CalendarExtenderDisattiva date precedenti a ajaxToolkit CalendarExtender
risposta
una possibilità è quella di utilizzare un RangeValidator sulla casella di testo del calenderextender è destinata a. Cioè se avete il TargetID dell'estensione del calendario impostato su tb1 aggiungete un rangeValidator a flag quando il contenuto di tb1 è prima di oggi.
Un'altra opzione è l'uso di JavaScript ed ecco un buon esempio: http://www.dotnetcurry.com/ShowArticle.aspx?ID=149 TIP 6.
Seguendo link potrebbe aiutare: Disable dates in CalendarExtender
Qui è la mia piena soluzione del problema data del calendario restrizione: Cosa Mi piace questa soluzione è che si imposta il MinimumValue e MaximumValue di un RangeValidator e non è necessario modificare qualsiasi javascript. Non ho mai trovato una soluzione completa che non richiedesse la ricompilazione di AjaxControlToolkit.dll. Grazie a http://www.karpach.com/ajaxtoolkit-calendar-extender-tweaks.htm per avermi dato l'idea di come sovrascrivere i metodi chiave nel file calendar.js senza dover ricompilare AjaxControlToolkit.dll. Inoltre, ho ricevuto "AjaxControlToolkit è indefinito" errori javascript, quindi li ho modificati in Sys.Extended.UI. e funziona per me quando si utilizza la versione 4.0 del toolkit.
<%--//ADD THIS NEW STYLE TO STYLESHEET TO GRAY OUT DATES THAT AREN'T SELECTABLE--%>
<style type="text/css">
.ajax__calendar_inactive {color:#dddddd;}
</style>
Sia in Page Load o Init o dovunque, impostare i valori minimi e massimi per l'intervallo validatore:
<script runat="server">
protected override void OnLoad(EventArgs e)
{
//set the validator min and max values
this.valDateMustBeWithinMinMaxRange.MinimumValue = DateTime.Today.Date.ToShortDateString();
this.valDateMustBeWithinMinMaxRange.MaximumValue = DateTime.MaxValue.Date.ToShortDateString();
base.OnLoad(e);
}
</script>
Aggiungi questa javascript da qualche parte nella tua pagina:
<script type="text/javascript">
<%--// ADD DATE RANGE FEATURE JAVASCRIPT TO OVERRIDE CALENDAR.JS--%>
var minDate = new Date('<%= valDateMustBeWithinMinMaxRange.MinimumValue %>');
var maxDate = new Date('<%= valDateMustBeWithinMinMaxRange.MaximumValue %>');
Sys.Extended.UI.CalendarBehavior.prototype._button_onblur_original = Sys.Extended.UI.CalendarBehavior.prototype._button_onblur;
//override the blur event so calendar doesn't close
Sys.Extended.UI.CalendarBehavior.prototype._button_onblur = function (e) {
if (!this._selectedDateChanging) {
this._button_onblur_original(e);
}
}
Sys.Extended.UI.CalendarBehavior.prototype._cell_onclick_original = Sys.Extended.UI.CalendarBehavior.prototype._cell_onclick;
//override the click event
Sys.Extended.UI.CalendarBehavior.prototype._cell_onclick = function (e) {
var selectedDate = e.target.date;
if (selectedDate < minDate || selectedDate > maxDate) {
//alert('Do nothing. You can\'t choose that date.');
this._selectedDateChanging = false;
return;
}
this._cell_onclick_original(e);
}
Sys.Extended.UI.CalendarBehavior.prototype._getCssClass_original = Sys.Extended.UI.CalendarBehavior.prototype._getCssClass;
Sys.Extended.UI.CalendarBehavior.prototype._getCssClass = function (date, part) {
var selectedDate = date;
if (selectedDate < minDate || selectedDate > maxDate) {
return "ajax__calendar_inactive";
}
this._getCssClass_original(date, part);
}
</script>
Aggiungere questo casella di testo per la tua pagina asp.net con CalendarExtenter e RangeValidator:
<asp:TextBox ID="textBoxDate" runat="server" />
<ajaxToolkit:CalendarExtender ID="calendarExtender" runat="server" TargetControlID="textBoxDate" />
<asp:RangeValidator ID="valDateMustBeWithinMinMaxRange" runat="server" ControlToValidate="textBoxDate"
ErrorMessage="The date you chose is not in accepted range" Type="Date" />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
Utilizzando l'Ajax toolkit Calendario Extender nel markup HTML:
<asp:TextBox ID="txtDate" runat="server" CssClass="contentfield" Height="16px" MaxLength="12" width="80px" Wrap="False"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender3" runat="server" Enabled="true" StartDate="<%# DateTime.Now %>" EndDate="<%# DateTime.Now.AddDays(1) %>" Format="dd MMM yyyy" PopupButtonID="imgDatePicker" TargetControlID="txtDate">
</asp:CalendarExtender>
<asp:ImageButton ID="imgDatePicker" runat="Server" AlternateText="Click to show calendar" Height="16px" ImageAlign="Middle" ImageUrl="~/images/Calendar_scheduleHS.png" Width="16px" />
Sopra vedrete che il calendario consente a un solo di scegliere tra oggi o domani impostando
StartDate =" <% # DateTime.Now%>"
e
EndDate = "<% # DateTime.Now.AddDays (1)%>"
Questo può anche essere fatto nel back-end utilizzando CalendarExtender1.StartDate = DateTime.Now;
o CalendarExtender1.EndDate = DateTime.Now.AddDays(1);
Basta aggiungere un attributo StartDate = "<% # DateTime.Now%>" in voi ajaxtoolkit controllo calendarextender
- 1. Tag del server sconosciuto 'ajaxToolkit: CalendarExtender'.
- 2. Come localizzare il testo di oggi in ajaxToolkit: CalendarExtender?
- 3. Date precedenti al 01 gennaio 1970?
- 4. disabilita le date precedenti su datepicker
- 5. CalendarExtender Positioning Problem
- 6. Valori cumulativi delle colonne dalle date correnti e precedenti
- 7. Utilizzo di strtotime per le date precedenti al 1970
- 8. Perché un'ora viene aggiunta a java.util.Date per le date precedenti al 1 ° novembre 1971?
- 9. Eventi precedenti a $ (documento) .ready
- 10. Disattiva FocusVisualStyle a livello globale
- 11. convert date date aaaammgg a aaJJJ o Julian Date
- 12. eliminazione delle righe sqllite di Android precedenti a x giorni
- 13. Jquery Disattiva opzione nel menu a discesa
- 14. Attiva/disattiva classe dal menu a discesa
- 15. Disattiva l'avviso C++ a livello di progetto?
- 16. ASP.NET Ajax CalendarExtender non aggiornerà il valore SelectedDate
- 17. C'è un modo per usare una funzione simile a strftime per date precedenti al 1900 in Python?
- 18. Le date precedenti vengono analizzate come ora legale, anche se ciò non è vero in Java
- 19. Selettore di date jQuery - disabilita le date passate
- 20. PHP Data Funzione Sette giorni precedenti
- 21. Disabilitare i riferimenti precedenti in perl
- 22. come confrontare due date date date jquery
- 23. Ottenere i record precedenti e precedenti all'interno della stessa query
- 24. Informazioni sui calcoli precedenti
- 25. Riutilizzare le attività precedenti?
- 26. SharedPreferences legge valori precedenti
- 27. Disattiva punti salienti
- 28. Disattiva permanentemente AutoEventWireup
- 29. Attiva/disattiva connessione misurata
- 30. Disattiva ripple su ListView
Buona implementazione. –