用户控件代码如下,就是页面放一个DropDownList ,然后将数据库中的值付给他。
问题是我在页面使用改用户控件,如何给这个控件动态赋默认值,类似于this.DropDownList .selectedValue="值";这种形式<asp:DropDownList ID="ddlTemplateCategory" onchange="getTemplateBind(this.value);" runat="server">
</asp:DropDownList>
 public partial class template_selected : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.BindCategory();
            }
        }
        protected void BindCategory()
        {
            cms_template_category_DAL DAL = new cms_template_category_DAL();
            DataTable dt = DAL.GetList().Tables[0];
            ddlTemplateCategory.DataSource = dt;
            ddlTemplateCategory.DataTextField = "template_category_name";
            ddlTemplateCategory.DataValueField = "template_category_id";
            ddlTemplateCategory.DataBind();
            if (ddlTemplateCategory.Items.Count > 0)
            {
                ddlTemplateCategory.Items.Insert(0, new ListItem("——请选择——", "0"));
                ddlTemplateCategory.Items[1].Selected = true;
            }
        }
    }

解决方案 »

  1.   

    用户控件中设置属性
    public string ddlValue
    {
    get{return ddlTemplateCategory.SeletedValue;}
    set{ddlTemplateCategory.SeletedValue=value;}
    }
      

  2.   

    用户控件增加属性。
    记得ViewState 保存状态
      

  3.   

    请问控件中设置什么属性呢?aspx的cs文件中又改如何写呢?谢谢
      

  4.   

     DataTable dw = 绑定数据库,把数据库中的数据绑定给DataTable       for (int j = 0; j < dw.Rows.Count; j++)
                {
                    
                    DropDownList1.Items.Add(dw.Rows[j]["SysName"].ToString());
                }
      

  5.   

    用户控件里封装个属性引用的页面可以直接点出来勒,设置下就好了。、比如:封装public string ddlValue
    {
    get{return ddlTemplateCategory.SeletedValue;}
    set{ddlTemplateCategory.SeletedValue=value;}
    }调用的时候设置默认值(假设调用后ID为UC_drop)自己在后台就可以 UC_drop.ddlValue="..";勒也可以拖放的时候直接添加指定默认值的看需要勒