Ich verwende ASP.Net Ajax die Seite Methoden und ich habe ein Problem, dass eine Aufzählung der Definition nicht gerendert wird. Hier ist, was ich habe:Objektdefinitionen werden nicht für ASP.Net Seite Methoden gerendert
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
}
ich dann eine einfache Web-Methode haben, wie:
[WebMethod]
public static Contact GetContact(Guid id)
{
return ....;
}
Auf der Clientseite I mit einer MyNamespace.Contact Klasse am Ende; jedoch habe ich keine MyNamespace.PhoneNumber oder MyNameSpace.PhoneNumberType. Ich habe festgestellt, dass, wenn ich explizit gefälschte Webmethoden hinzufüge, die nur diese Typen zurückgeben, Client-seitige Typen gerendert werden. Gibt es eine Möglichkeit, diese Aufzählung zu anderen als falschen Webmethoden zu zwingen?
Ich möchte die enum, weil ich durch diese Liste <> durchlaufen und basierend auf dem PhoneNumberType etwas anderes tun müssen. Ich würde lieber keine magischen Zahlen kodieren oder die Enum-Definition hartcodieren.