使用代码块呈现枚举值

本文关键字:枚举 代码 | 更新日期: 2023-09-27 18:13:06

我想让jsonStr的值为

"{submitOfferResult: 0}"
而不是

,虽然是

"{submitOfferResult: OFFER_ACCEPTED}"
//javascript
var jsonStr = "{submitOfferResult: <%=SUBMIT_OFFER_RESULT.OFFER_ACCEPTED %>}";
//c#
public enum SUBMIT_OFFER_RESULT
{
    OFFER_ACCEPTED = 0,
    QUALIFYING_OFFER_NOT_MET = 1,
    OFFER_ACCEPTED_NOT_HIGHEST_OFFER = 2,
    OSP_CLOSED = 3,
    AUTO_REJECTED = 4
}

使用代码块呈现枚举值

转换为int:

var jsonStr = "{submitOfferResult: <%=(int) SUBMIT_OFFER_RESULT.OFFER_ACCEPTED %>}";

否则,它在枚举值上调用ToString(),它将尽可能使用该名称。

注意,为了遵循。net的命名约定,你的enum应该是:

public enum SubmitOfferResult
{
    OfferAccepted = 0,
    QualifyingOfferNotMet = 1,
    OfferAcceptedNotHighestOffer = 2,
    OspClosed = 3,
    AutoRejected = 4
}

然后:

var jsonStr = "{submitOfferResult: <%=(int) SubmitOfferResult.OfferAccepted %>}";

需要将enum强制转换为数字类型:

(int)SUBMIT_OFFER_RESULT.OFFER_ACCEPTED