簡體   English   中英

我如何從asp.net(aspx)頁面枚舉靜態類中包含的靜態字典

[英]How do I enumerate a static dictionary contained in a static class from asp.net ( aspx) page

我不明白如何在我的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)

您可以像這樣遍歷所有對:

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 ..
<% } %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM