private ListDictionary parameters;
public ListDictionary Parameters
{
get
{
if (parameters == null) parameters = new ListDictionary();
return parameters;
}
set
{
if (parameters == null) parameters = new ListDictionary();
parameters = value;
}
}
我可以在ASP.NET页面的标记中设置这样的属性吗?怎么样?
我的意思是<uc1:CustomControl Parameters="?"
答案 0 :(得分:0)
您可以在code block恕我直言中写下此声明。
答案 1 :(得分:0)
使用[System.ComponentModel.Category("Settings")]
,然后属性将出现在标记IntelliSense
我认为您需要一种解决方法,因为标记中的所有值都是字符串,因此您需要将它们解析为特定的类:
<uc1:CustomControl Parameters="foo,bar" />
[Category("Settings")]
public string Parameters
{
set
{
var arr = String.Split(",", value).Select(p => p.Trim());
if (parameters == null) parameters = new ListDictionary();
foreach (string p in arr)
parameters.Add(p);
}
}
或使用内联(也称代码块),例如:
<%= new ListDictionary { "foo", "bar " } %>