expose a method from your user control to change that, for example, in your user controlpublic void ChangeDefaultValue(string s ) { DropDownList1.SelectedValue = s; }but if you insist, you could try (not recommended):DropDownList ddl = (DropDownList)YourUserControl.FindControl("DropDownList1"); ddl.SelectedValue = s;
Public Property dd_value() As integer Get return dropdownlist1.selectindex End Get Set(ByVal Value As integer) dropdownlist1.selectindex= value End Set End Property 在 主页 .aspx.vb 中 myurercontrol.dd_value= 4 就可以了!
{
DropDownList1.SelectedValue = s;
}but if you insist, you could try (not recommended):DropDownList ddl = (DropDownList)YourUserControl.FindControl("DropDownList1");
ddl.SelectedValue = s;
Public Property dd_value() As integer
Get
return dropdownlist1.selectindex
End Get
Set(ByVal Value As integer)
dropdownlist1.selectindex= value
End Set
End Property 在 主页 .aspx.vb 中
myurercontrol.dd_value= 4 就可以了!
可以把aspx.cs中的代码也写出来吗?
其他兄弟也是一样~
aspx.cs 中 我是这样的
protected UserControl.ProductArea thisProductArea;
private void Page_Load(object sender, System.EventArgs e)
{
thisProductArea = new project1.folder1.ProductArea;
thisProductArea.ChangeDefaultValue("2");
}
但提示DropDownList1.SelectedValue = s;错误,信息如下
未将对象引用设置到对象的实例。
但我在ProductArea控件中直接调用ChangeDefaultValue完全正常
namespace Takasho.dbms.UserControl
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Takasho.Components; /// <summary>
/// ProductArea 的摘要说明。
/// </summary>
public class ProductArea : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.DropDownList ProductAreaDList; private void Page_Load(object sender, System.EventArgs e)
{
DBCtrl dbc = new DBCtrl();
DataSet dsList = new DataSet();
dsList = dbc.ExcSelect("SELECT * FROM ProductArea WHERE FIsActive=true");
ProductAreaDList.DataTextField = "FAreaCName";
ProductAreaDList.DataValueField = "FAreaID";
ProductAreaDList.DataSource = dsList.Tables["tableName"];
ProductAreaDList.DataBind();
dsList.Dispose();
dbc.Close();
dbc.Dispose();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
public string DefaultSelectedValue
{
set{ ProductAreaDList.SelectedValue = value; }
get{ return ProductAreaDList.SelectedValue; }
} }
}