Wybierz bieżącą datę jako domyślną w formancie kalendarza ASP.Net


Powiedzmy, że mam stronę aspx z tą kontrolką kalendarza:
<asp:Calendar ID="Calendar1" runat="server" SelectedDate="" ></asp:Calendar>

Czy jest coś, co mogę wstawić do SelectedDate, aby używała bieżącej daty domyślnej bez konieczności używania kodu?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli już wykonujesz powiązanie danych:
<asp:Calendar ID="Calendar1" runat="server" SelectedDate="<%# DateTime.Today %>"/>

Zrobię to. To naprawdę wymaga, abyś gdzieś wykonał wywołanie Page.DataBind () (lub wywołanie databind kontrolki nadrzędnej). Jeśli tego nie zrobisz i absolutnie nie chcesz żadnego kodu na stronie, będziesz musiał utworzyć kontrolę użytkownika, która zawiera kontrolkę kalendarza, i ustawić ją na selecteddate.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


DateTime.Now

nie zadziała, użyj


zamiast tego DateTime.Today.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Starałem się, aby kalendarz wybrał domyślną datę i podświetlił ją dla użytkownika.
Wypróbowałem jednak wszystkie powyższe opcje, ale mogłem ustawić tylko wybraną datę kalendarza.
protected void Page_Load(object sender, EventArgs e)
Calendar1.SelectedDate = DateTime.Today;
}

poprzedni kod NIE dokonał wyboru, chociaż ustawił SelectedDate na bieżąco.
Jednak do zaznaczania i wyróżniania poniższy kod będzie działał poprawnie.
protected void Page_Load(object sender, EventArgs e)
{
DateTime today = DateTime.Today;
Calendar1.TodaysDate = today;
Calendar1.SelectedDate = Calendar1.TodaysDate;
}

sprawdź ten link:

http://msdn.microsoft.com/en-us/ library/8k0f6h1h(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/8k0f6h1h(v=VS.85).aspx
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Można to zrobić na dwa sposoby.

[b]
Późne wiązanie

[/b]>
<asp:Calendar ID="planning" runat="server" SelectedDate="<%# DateTime.Now %>"></asp:Calendar>


Kod za ścieżką (rozwiązanie Page_Load)
>
protected void Page_Load(object sender, EventArgs e)
{
BindCalendar();
}private void BindCalendar()
{
planning.SelectedDate = DateTime.Today;
}

Chociaż bardzo polecam zrobienie tego z perspektywy BindMyStuff. Jeden punkt wejścia jest łatwiejszy do debugowania. Ale ponieważ wydaje się, że znasz swoją grę, gotowe.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Próbowałem powyżej z powyższym kodem, ale nie zadziałało, oto rozwiązanie umożliwiające ustawienie bieżącej daty wybranej w kontrolce kalendarza asp.net
dtpStartDate.SelectedDate = Convert.ToDateTime(DateTime.Now.Date);
dtpStartDate.VisibleDate = Convert.ToDateTime(DateTime.Now.ToString());
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Miałem też ten sam problem w VWD 2010 i na szczęście miałem dwie kontrolki. Jeden był dostępny w kodzie z tyłu, a drugi nie był dostępny. Myślałem, że przyczyną problemu jest kolejność instrukcji w kontrolkach. Wstawiłem „runat” przed „SelectedDate” i to chyba wszystko naprawiło. Kiedy wstawiłem „runat” po „SelectedDate”, nadal działało!
Niestety, teraz nie wiem, dlaczego to nie zadziałało i nie mam oryginału, który nie działał.
Teraz wszystko działa: -
<asp:Calendar ID="calDateFrom" SelectedDate="08/02/2011" SelectionMode="Day" runat="server"></asp:Calendar>
<asp:Calendar runat="server" SelectionMode="Day" SelectedDate="08/15/2011 12:00:00 AM" ID="Calendar1" VisibleDate="08/03/2011 12:00:00 AM"></asp:Calendar>
<asp:Calendar SelectionMode="Day" SelectedDate="08/31/2011 12:00:00 AM" runat="server" ID="calDateTo"></asp:Calendar>
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W rzeczywistości nie mogę pobrać wybranej daty w aspx. Oto sposób ustawienia wybranej daty w kodach:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DateTime dt = DateTime.Now.AddDays(-1);
Calendar1.VisibleDate = dt;
Calendar1.SelectedDate = dt;
Calendar1.TodaysDate = dt;
...
}
}

W powyższym przykładzie muszę ustawić domyślną wybraną datę na wczoraj. Kluczowym punktem jest ustawienie TodayDate. W przeciwnym razie wybraną datą kalendarzową będzie zawsze dzień dzisiejszy.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się