حدد التاريخ الحالي بشكل افتراضي في ASP.Net التقويم التحكم

StackOverflow https://stackoverflow.com/questions/86408

  •  01-07-2019
  •  | 
  •  

سؤال

دعونا نقول لدي صفحة aspx مع هذا التقويم التحكم:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="" ></asp:Calendar>

هل هناك أي شيء يمكنني وضع في SelectedDate أن تجعل من استخدام التاريخ الحالي بشكل افتراضي دون الحاجة إلى استخدام التعليمات البرمجية-خلف?

هل كانت مفيدة؟

المحلول

إذا كنت تفعل ربط البيانات:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="<%# DateTime.Today %>" />

سوف تفعل ذلك.هذا لا يتطلب أن ما تقومون به صفحة.DataBind() call (أو databind اتصل على الوالد السيطرة).إذا كنت لا تفعل ذلك وأنت بالتأكيد لا تريد أي codebehind على الصفحة, ثم سيكون لديك لإنشاء usercontrol الذي يحتوي على تقويم ومراقبة يحدد selecteddate.

نصائح أخرى

التاريخ والوقت.الآن لا العمل ، التاريخ والوقت.اليوم بدلا من ذلك.

كنت في محاولة لجعل التقويم بتحديد موعد افتراضيا ، ويبرز ذلك بالنسبة للمستخدم.ومع ذلك حاولت استخدام كل الخيارات أعلاه لكن تمكنت فقط لضبط التقويم الزمني المحدد.

protected void Page_Load(object sender, EventArgs e)
    Calendar1.SelectedDate = DateTime.Today;
}

القانون السابق لم تسليط الضوء على التحديد ، على الرغم من أنه تعيين SelectedDate إلى اليوم.

ومع ذلك ، لتحديد وإبراز البرمجية التالية بشكل صحيح.

protected void Page_Load(object sender, EventArgs e)
{
    DateTime today = DateTime.Today;
    Calendar1.TodaysDate = today;
    Calendar1.SelectedDate = Calendar1.TodaysDate;
}

التحقق من هذا الارتباط: http://msdn.microsoft.com/en-us/library/8k0f6h1h(v=مقابل.85).aspx

طريقتين للقيام بذلك.

الربط المتأخر

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

رمز وراء طريقة (Page_Load الحل)

protected void Page_Load(object sender, EventArgs e)
{
    BindCalendar();
}

private void BindCalendar()
{
    planning.SelectedDate = DateTime.Today;
}

ألطاف, وإنني أوصي بشدة أن تفعل ذلك من BindMyStuff الطريق.نقطة دخول واحدة أسهل التصحيح.ولكن منذ كنت يعرف اللعبة, كنت كل مجموعة.

لقد حاولت أعلاه مع البرمجية أعلاه ولكن لا تعمل هنا هو حل تعيين التاريخ الحالي المحدد في asp.net التقويم التحكم

dtpStartDate.SelectedDate = Convert.ToDateTime(DateTime.Now.Date);
dtpStartDate.VisibleDate = Convert.ToDateTime(DateTime.Now.ToString());

أنا أيضا لدي نفس المشكلة في VWD 2010 و بالصدفة كان لي اثنين من عناصر التحكم.واحد كان متوفر في التعليمات البرمجية خلف واحد لم يكن موجودا.أعتقد أن النظام البيانات الواردة في الضوابط التي تسبب المشكلة.أنا وضعت 'runat" قبل "SelectedDate' ويبدو أن إصلاحه.عندما أضع 'runat' بعد 'SelectedDate' أنه لا يزال يعمل!للأسف, أنا الآن لا أعرف لماذا لم تنجح و لم يحصلوا الأصلي الذي لم يعمل.

هذه الآن كل العمل:-

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

في الحقيقة لا أستطيع الحصول على التاريخ المحدد في aspx.هنا هو وسيلة لضبط التاريخ المحدد في رموز:

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;
      ...
    }
 }

في المثال أعلاه, أنا بحاجة إلى تعيين الافتراضي المحدد من تاريخ أمس.النقطة الرئيسية هي أن مجموعة TodayDate.وإلا فإن اختيار تاريخ التقويم هو دائما اليوم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top