UserControl values lost on PostBack

P

Paul

Hi all,

I have a very simple user control that contains 3 drop downs. Whenever
there's a postback the values of these drop downs are lost. I've tried
enabling viewstate everywhere without success. Could anyone shed any
light on what's going wrong?

Thanks,

Paul

Asx:

<%@ Control Language="C#" EnableViewState="true" AutoEventWireup="true"
CodeFile="DayMonthYear.ascx.cs" Inherits="Test.DayMonthYear" %>
<%@ Register TagPrefix="test" Namespace="Test" %>
<table cellpadding="1" cellspacing="0">
<tr>
<td><small>Day</small></td>
<td><small>Month</small></td>
<td><small>Year</small></td>
</tr>
<tr>
<td><asp:DropDownList ID="day" EnableViewState="true"
runat="server"></asp:DropDownList></td>
<td><asp:DropDownList ID="month" EnableViewState="true"
runat="server"></asp:DropDownList></td>
<td><asp:DropDownList ID="year" EnableViewState="true"
runat="server"></asp:DropDownList></td>
</tr>
</table>

Asx.Cs:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Test
{
public partial class DayMonthYear : System.Web.UI.UserControl,
INamingContainer
{
private int _yearHigh = DateTime.Now.Year;
private int _yearLow = DateTime.Now.Year - 100;

protected void Page_PreRender(object sender, EventArgs e)
{
string[] months = new string[] { "January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December" };

// add days
day.Items.Add(new ListItem(string.Empty, "0"));
for (int i = 1; i < 32; i++)
day.Items.Add(i.ToString());

// add months
month.Items.Add(new ListItem(string.Empty, "0"));
for (int i = 0; i < months.Length; i++)
month.Items.Add(new ListItem(months, (i + 1) + string.Empty));

// add years
year.Items.Add(new ListItem(string.Empty, "0"));
for (int i = YearLow; i <= YearHigh; i++)
year.Items.Add(i.ToString());
}

public int YearHigh
{
get { return _yearHigh; }
set { _yearHigh = value; }
}

public int YearLow
{
get { return _yearLow; }
set { _yearLow = value; }
}
}
}
 
G

Guest

Paul

I dont see any probs with the posted code as such. I did try it out and no
values are lost during post back. Can you check again and see if it still
happens ?

Prem
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top