c#伺服器端枚舉(enum)轉為用戶端javascript的枚舉(json)

來源:互聯網
上載者:User

同時維護兩邊的enum估計有點煩(寫起來也有點煩),寫了個直接調來用,

不過,用戶端寫代碼時引用枚舉就不那麼直觀了……

 

public static string GetJsonEnum(Type enumType)
{
    return GetJsonEnum(enumType, null);
}

public static string GetJsonEnum(Type enumType, string alias)
{
    int[] values = (int[])Enum.GetValues(enumType);
    string[] names = Enum.GetNames(enumType);
    string[] pairs = new string[values.Length];

    for (int i = 0; i < values.Length; i++)
    {
        pairs[i] = names[i] + ": " + values[i];
    }

    if (string.IsNullOrEmpty(alias))
        alias = enumType.Name;

    return string.Format("var {0}={{\n{1}\n}}", alias, string.Join(",\n", pairs));
}

aspx頁面上調用方式:

<%=GetJsonEnum(typeof(LYL.Test.Domain.ProductTypeEnum))%>

 

頁面執行時產生結果:

var ProductEnum={
TypeA : 1,
TypeB : 2,
TypeC : 3
}

 

That's all.

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.