0

ASP.Net Ajax のページ メソッドを使用していますが、列挙の定義がレンダリングされないという問題があります。ここに私が持っているものがあります:

public class Contact
{
    public string FirstName{get;set;}
    public IList<PhoneNumber> PhoneNumbers{get;set;}
}

public class PhoneNumber
{
   public string Number{get;set;}
   public PhoneNumberType {get;set;}
}

public enum PhoneNumberType
{
   Home,
   Work,
   Fax,
   Cell
}

次に、次のような単純な Web メソッドがあります。

[WebMethod]
public static Contact GetContact(Guid id)
{
   return ....;
}

クライアント側では、最終的に MyNamespace.Contact クラスになります。ただし、MyNamespace.PhoneNumber または MyNameSpace.PhoneNumberType はありません。これらの型を返すだけの偽の Web メソッドを明示的に追加すると、クライアント側の型がレンダリングされることがわかりました。その列挙型を偽の Web メソッド以外に強制的にレンダリングする方法はありますか?

その List<> を反復処理する必要があり、PhoneNumberType に基づいて別のことを行う必要があるため、列挙型が必要です。マジック ナンバーをハードコードしたり、列挙型定義をハードコードしたりしたくありません。

4

1 に答える 1