2
私はMVCを初めて使用しています。enum mvcの文字列値を保存するには
public enum OrderStatus
{
Pending = 1,
Held = 2,
[Display(Name = "In Process")]
In_Process = 3,
Completed = 4,
Shipped = 5,
Returned = 6,
Cancelled = 7
}
とモデルに:私は私のOrdersテーブルには、次の列挙型を使用しています
<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>
コントローラで:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(OrderViewModel ovm, int id)
...
Order order = db.Orders.FirstOrDefault(o => ((o.OrderId == id)));
order.OrderStatus = ovm.OrderStatus;
ビューで
public class Order
{
...
public OrderStatus OrderStatus { get; set; }
{
私の問題は、私がtを保存したいということです彼はその整数値の代わりに列挙型の値を文字列にします。これは、レポートやその他のビューで列挙型の文字列値を表示する方が簡単になるためです。私はこれを研究していますが、使用する技術を見つけることに失敗しました。どんな助けでも大歓迎です。
あなたの列挙型で 'ToString()'メソッドを試しましたか? – greenjaed
明示的な例がありますか?例えば、 –
。 'OrderStatus.ToString()'(変数、列挙型ではない) – greenjaed