У меня есть общий выбор даты, этот выбор даты распространен для почти 10 страниц, так как дата выбора даты по умолчанию установлена на текущую дату, у меня есть страница (1 из 10 страниц) с link, когда я выбираю эту ссылку, она содержит некоторую дату (будущую или прошлую), поэтому я хочу, чтобы эта ссылка выбрала дату для отображения на элементе управления выбора даты, в настоящее время я могу это сделать, проблема, с которой я столкнулась, такая же измененная дата отражает другие 9 страниц, которые мне не нужны, я должен уметь видеть их по умолчанию, т.е. текущую дату.Установка даты выбора на конкретную страницу
Код:
Метод конкретной страницы я устанавливаю его на определенную дату
protected void QuickListDateNavigate(object sender, CommandEventArgs e)
{
DateTime newDate = DateTime.Parse((string)e.CommandArgument);
this.Parent.SessionObj.ViewDate = newDate;
}
это где выше выбранной даты в настоящее время установлено связать выбранную дату, а также для других 9 страниц.
Datepicker.ascx.cs
protected override void OnPreRender(EventArgs e)
{
if (this.m_showDateText)
{
if (datepicker.Value == "")
{
PickerDate = ViewDate;
}
else
{
// ViewDate = DateTime.Parse(datepicker.Value);
ViewDate = this.Parent.SessionObj.ViewDate;
PickerDate = ViewDate;
}
}
base.OnPreRender(e);
}
раньше он отметил линию, которая была настройки текущей даты, добавляется к следующей ссылке "ViewDate = this.Parent.SessionObj.ViewDate;" который меняет дату, как я ожидал.
public DateTime ViewDate
{
get
{
return Parent.SessionObj.ViewDate;
}
set
{
Parent.SessionObj.ViewDate = value;
}
}
protected DateTime PickerDate
{
get
{
DateTime newDate = ViewDate;//Use current ViewDate if Value in textbox is not valid.
string pickerValue = this.Parent.SessionObj.ViewDate.ToString();
try
{
newDate = DateTime.Parse(pickerValue);
}
catch
{
//Date was not a valid format fill in with the ViewDate
SetPickerDateToViewDate();
}
return newDate;
}
set
{
this.datepicker.Value = value.ToString(this.m_dateFormatString);
}
}
protected void SetPickerDateToViewDate()
{
PickerDate = ViewDate;
}
Так как только дата была изменена на мое требование это не задерживая текущую дату для других страниц, есть ли способ я могу использовать измененную дату для конкретной страницы и даты по умолчанию для других страниц ??
Привет, Карл, все изменения на любом родителе отражаются на всех 10 экземплярах, в настоящее время страница, на которой я работаю, является единственной страницей, которую нужно изменить, а остальные 9 экземпляров предназначены для отображения календаря, который не требуется никакого выбора. – Manjuboyz
@Manjuboyz - поэтому вы не можете использовать объект сеанса родителя в качестве основы для свойства 'ViewDate' вашего пользовательского элемента управления.Вам нужно изменить свой код управления пользователя, чтобы иметь переменную поддержки для хранения значения «ViewDate» и обновить ваши «getter» и «setter», чтобы «вернуть» эту резервную переменную и присвоить значение, переданное этой резервной переменной, соответственно. –
myViewDate устанавливает значение 01/01/0001 по умолчанию и не принимает дату сеанса, чтобы установить его? я что-то пропустил? – Manjuboyz