ASP.NET MVC – Flag Enum als Checkbox Liste Binden

In ASP.NET gibt es einige nützliche Hilfsmittel, um HTML-Objekte an ein Model zu binden. So wird aus „@Html.TextBoxFor(m => m.MyProperty)“ zum Beispiel eine TextBox, welche die Daten beim Absenden der Form automatisch in die entsprechende Property des Objektes schreibt und auch ausliest. Für was es allerdings keine vorgefertigte Möglichkeit gibt, ist das Binden von FlagEnum’s, sprich Enum Datentypen, die eine Mehrfachauswahl über das Flag-Attribut zulassen. Um eine solche Funktionalität zu bekommen, muss man aktuell selbst tätig werden und zwei Klassen erstellen, die dies erlauben. Hierfür braucht man einen „ModelBinder“ sowie eine Erweiterung für die Html-Klasse. Natürlich sollte man sich aber zuvor bereits darüber im Klaren sein, wie das Flag-Attribute bei einem Enum das Verhalten beeinflusst.  Weiterlesen

Wusstet ihr schon… Enumerationen?

Enumerationen oder auch Aufzählungen sind für den Computer nicht mehr und nicht weniger als Integer-Typen. Jede Aufzählung (außer jene, bei welchen man dies verändert hat) lässt sich zum Integer wandeln und jeder Integer kann zu einer Aufzählung gewandelt werden (für letzteres gelten allerdings einige Einschränkungen, da die  Zahl in der Aufzählung präsent sein muss). Darum kann auch jedem Eintrag in einer Aufzählung eine Ganzzahl zugewiesen werden (in der Regel verwendet man hier die 2er-Potenzen um so mittels „Flag“-Attribut „oder“, „und“ „exklusiv oder“ und die anderen Bit-Operatoren verwenden kann).  Weiterlesen