Je suis nouveau à MVC. J'utilise le ENUM suivant dans ma table Orders:Comment enregistrer la valeur de chaîne de enum mvc
public enum OrderStatus
{
Pending = 1,
Held = 2,
[Display(Name = "In Process")]
In_Process = 3,
Completed = 4,
Shipped = 5,
Returned = 6,
Cancelled = 7
}
et dans le modèle:
public class Order
{
...
public OrderStatus OrderStatus { get; set; }
{
dans la vue:
<div class="form-group">
@Html.LabelFor(model => model.OrderStatus, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EnumDropDownListFor(model => model.OrderStatus,
"--Select--",
new { @class = "form-control ingUOM" })
@Html.ValidationMessageFor(model => model.OrderStatus, "", new { @class = "text-danger" })
</div>
</div>
dans le contrôleur:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(OrderViewModel ovm, int id)
...
Order order = db.Orders.FirstOrDefault(o => ((o.OrderId == id)));
order.OrderStatus = ovm.OrderStatus;
Mon problème est que je veux sauver t La valeur de chaîne de l'enum, au lieu de sa valeur entière. C'est ainsi qu'il sera plus facile d'afficher la valeur de chaîne de l'énumération dans les rapports et autres vues. J'ai fait des recherches sur ce sujet, mais je n'ai pas réussi à trouver une technique à utiliser. Toute aide sera très appréciée.
Avez-vous essayé la méthode 'ToString()' sur votre énumération? – greenjaed
Pouvez-vous donner un exemple explicite de ceci? –
par exemple. 'OrderStatus.ToString()' (la variable, pas le type enum) – greenjaed