Свойство из пользовательского UserControl, которое сохраняется в viewstate, теряет свое значение - PullRequest
0 голосов
/ 28 июля 2010

У меня есть пользовательский элемент управления на странице aspx, у которого есть свойство с именем Size

public int Size
{
     get { return Convert.ToInt32(ViewState["CreativeSize"]); }
     set { ViewState["CreativeSize"] = value; }
}

Это свойство установлено на странице aspx в значение, скажем, 500 во время обратной передачи, вызываемой элементом управления Button, которыйнаходится на странице (не в пользовательском элементе управления).

У меня также есть кнопка внутри пользовательского элемента управления, которая вызывает обратную передачу, подобную этой

protected void btnUpload_Click(object sender, EventArgs e)
{
     if (fuBannerfile.HasFile)
         if (fuBannerfile.FileContent.Length / 1024 > this.Size)
             ;//code here not important
}

Когда это событие вызывается, свойство this.Size равно 0. Я также заметил во время отладкичто во время Page_Load страницы, если я получаю доступ к свойству следующим образом:

int size = customControlId.Size;

свойство устанавливается равным 500. Но после этого, когда отладчик достигает события внутри элемента управления, свойство равно 0.

Есть идеи, почему это происходит или что может быть причиной?

1 Ответ

0 голосов
/ 28 июля 2010

Только что выяснил, в чем проблема.

У меня 5 одинаковых элементов управления на одной странице, и я установил свойство Size неправильного элемента управления ....

Не могу поверить, что я потерял 2 часа на этом.

...