比如用户控件 MyUserControl1 中的 ClassID 属性是一个List<int>集合。public partial class MyUserControl1 : System.Web.UI.UserControl
{
private List<int> _ClassID = null;
public List<int> ClassID
{
get { return this._ClassID; }
set { this._ClassID = value; }
} protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
this._ClassID = new List<int>();
}
}
}
调用这个控件的前台.aspx页面中如何给这个属性赋值?<%@ Register TagPrefix="UC" TagName="MyUserControl1" Src="~/MyUserControl1.ascx" %>
<UC:MyUserControl1 ID="ucMyUserControl1" runat="server" ClassID="这里怎么赋值?">
</UC:MyUserControl1>
{
private List<int> _ClassID = null;
public List<int> ClassID
{
get { return this._ClassID; }
set { this._ClassID = value; }
} protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
this._ClassID = new List<int>();
}
}
}
调用这个控件的前台.aspx页面中如何给这个属性赋值?<%@ Register TagPrefix="UC" TagName="MyUserControl1" Src="~/MyUserControl1.ascx" %>
<UC:MyUserControl1 ID="ucMyUserControl1" runat="server" ClassID="这里怎么赋值?">
</UC:MyUserControl1>
public List<int> ClassID
改成
public string ClassID
就不要说了...一定是要 list<int> 或 int[]
{
List<int> ret=new List<int>();
......
return ret;
}当然,你也可以写一个Convert方法,从字符串中产生List<Int>。例如: protected List<int> ConvertStringToListOfInteger(string s)
{
List<Int> ret=new List<Int>();
foreach(i in s.split(','))
ret.Add(int.parse(i);
return ret;
}这样你可以在绑定表达式中直接编辑字符串了,例如:<UC:MyUserControl1 ID="ucMyUserControl1" runat="server" ClassID='<%# ConvertStringToListOfInteger("1,2,3,4") %>'>这个ConvertStringToListOfInteger通用性更强一点吧,是个好玩的玩具。