我不明白如何从我的aspx页面循环静态类中包含的静态字典。我有这个用于静态类
public static class ErrorCode
{
public static IDictionary<int, string> ErrorCodeDic;
static ErrorCode()
{
ErrorCodeDic = new Dictionary<int, string>()
{
{1, "a problem"},
{2, "b problem"}
};
}
}
更具体 我可以通过在aspx部分中将其拼写出来来实现它的工作
foreach( System.Collections.generic.KeyValuePair<int, string> kvp in MyLibrary.Dictionaries.ErrorCode.ErrorCodeDic)
但我认为我可以通过在代码后面声明变量来缩写它吗?
Public KeyValuePair<int, string> error;
Public ErrorCode.ErrorCodeDic ErrorCodes; OR
Public ErrorCode.ErrorCodeDic ErrorCodes = ErrorCode.ErrorCodeDic; "
我遇到构建错误“类型名称'ErrorCodeDic'在ErrorCode类型中不存在。
然后在aspx页面中使用
foreach( error in ErrorCodes)
答案 0 :(得分:3)
你可以像这样遍历所有对:
foreach( KeyValuePair<int, string> kvp in ErrorCode.ErrorCodeDic)
{
Response.Write(string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value));
}
对于您的更新案例,在代码隐藏中:
public IDictionary<int, string> ErrorCodes = MyLibrary.Dictionaries.ErrorCode.ErrorCodeDic;
在aspx中:
foreach(var error in ErrorCodes) { }
或者,代码隐藏中没有任何东西,这在aspx中:
<%@ Import Namespace="MyLibrary.Dictionaries" %>
....Content...
<% foreach(var error in ErrorCode.ErrorCodeDic) { %>
.. something ..
<% } %>