在用户控件中属性通过viewstate储存.
因为普通服务器控件是有VIEWSTATE自动存储机制的,用户控件还需你自己添加,
请把用户控件代码帖出来.

解决方案 »

  1.   

    选择一个最简单的
    <%@ Control Language="C#" AutoEventWireup="true"
        CodeFile="GenderSelect.ascx.cs" Inherits="BSE.Control.GenderSelect" %>
      <asp:DropDownList ID="myDropDownList" runat="server">
        <asp:ListItem Value="0">-</asp:ListItem>
        <asp:ListItem Value="1">男</asp:ListItem>
        <asp:ListItem Value="2">女</asp:ListItem>
      </asp:DropDownList>
    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;using BSE.Common;
    namespace BSE.Control
    {
        public partial class GenderSelect : System.Web.UI.UserControl
        {
            private byte _value;        public byte Value
            {
                set
                {
                    _value = value;
                }
                get
                {
                    return _value;
                }
            }        protected void Page_Load(object sender, EventArgs e)
            {
                if (this.IsPostBack)
                {
                    _value = BseFilter.GetByte(myDropDownList.SelectedValue);
                }
                else
                {
                    myDropDownList.SelectedValue = (_value >= 0 && _value <= 2) ? _value.ToString() : "";
                }
            }
        }
    }
      

  2.   

    1楼说的viewstate可能有道理,我马上去查查
      

  3.   

            private byte _value;        public byte Value
            {
                set
                {
                    _value = value;
                }
                get
                {
                    return _value;
                }
            }==
            public byte Value
            {
                set
                {
                    ViewState["myvalue"] = value;
                }
                get
                {
                    object o = ViewState["myvalue"];
                    if(o != null)
                    {
                        return (byte)o;
                    }
                    return 0;
                }
            }