我目前正试图通过ASP初始化UserControl的Dictionary属性。. NET 2.0代码,我找不到有效的语法。
让我们假设我有一个非常简单的UserControl和一个Dictionary属性:
using System;
using System.Collections.Generic;
using System.Web.UI;
public class MyUserControl : UserControl
{
[PersistenceMode(PersistenceMode.InnerProperty)]
public Dictionary<string, string> Dict { get; set; }
}
如何在ASPX页面中初始化它?
我试过不同的方法,比如下面这个,但是都不起作用:
<my:MyUserControl>
<Dict>
<dictionaryentry key="a_key" value="a_value" />
</Dict>
</my:MyUserControl>
我也尝试用add或KeyValuePair替换dictionaryentry,但没有运气。
有谁知道用普通ASPX代码做到这一点的方法吗?我可以在我的页面中使用c#,但我寻找一个更"优雅"的解决方案。
谢谢你的回答。
,
Eric
不幸的是,这并没有那么简单——您必须公开一个可以保存集合的属性,然后为该集合设置一个编辑器类型。有关示例代码,请参阅此MSDN链接。