Razor konvertiert Enum in Int innerhalb einer Ansicht

Lesezeit: 1 Minute

Kuttan Sujiths Benutzeravatar
Kuttan Sujith

Ich habe eine rasiermesserscharfe Sicht. Ich habe Linien wie Blähungen

<option value="@{(Int16)PhoneType.Work}">@PhoneType.Work</option>

Dies ist eine Option in einer Auswahlliste/Dropdownliste. Darin habe ich eine Aufzählung PhoneType. Für den abgelegten Text funktioniert @PhoneType.Work einwandfrei, aber für das Wertfeld @{(Int16)PhoneType.Work funktioniert es nicht

Was kann ich tun, um den ganzzahligen Wert der Aufzählung im Wertfeld zu erhalten?

  • Warum nutzt du nicht das? Html.DropDownListFor Helfer?

    – Darin Dimitrov

    15. November 2012 um 11:45 Uhr

  • Indem Sie einen Helfer schreiben: stackoverflow.com/a/5961529/29407

    – Darin Dimitrov

    15. November 2012 um 12:02 Uhr

  • Haben Sie @{ ((Int16)PhoneType.Work) } ausprobiert?

    – Rumplin

    27. Juni 2013 um 14:03

Diese Syntax sollte den Zweck erfüllen (beachten Sie das () anstelle von {}):

<option value="@( (Int16) PhoneType.Work )">@PhoneType.Work</option>

Warum nicht ein weiteres Feld in Ihrem ViewModel haben, das eine Ganzzahl ist?

public WorkId {get {return (int)Work; }

und nutzen Sie dies aus Ihrer Sicht

<option value="@PhoneType.WorkId">@PhoneType.Work</option>

Wir können die ChangeType-Funktion wie folgt verwenden. Ich hoffe, das hilft jemandem in Zukunft.

<option [email protected](PhoneType.Work, PhoneType.Work.GetTypeCode())>@PhoneType.Work</option>

oder

<option [email protected](PhoneType.Work, typeof(int))>@PhoneType.Work</option>

1453270cookie-checkRazor konvertiert Enum in Int innerhalb einer Ansicht

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy