は、私は私のメインのViewModel からの部分的なビューモデルを持っていると私は辞書の方法でドロップダウンリストのステータスモデルのバイトを返す必要がここで私は何が欠けていますか? (.NET、カミソリ、MVC)
public static class ListStatus
{
public static Byte Rejected = 0;
public static Byte Pending = 1;
public static Byte Reviewed = 2;
public static Byte Accepted = 3;
}
部分のViewModel:
@model byte
@{
Layout = null;
CategoryBusiness Business = new CategoryBusiness();
object attr = this.ViewBag.attr ?? new { @class = "form-control" };
RouteValueDictionary attrDictionary = (attr as RouteValueDictionary) ?? new RouteValueDictionary(attr);
attrDictionary["class"] = "required form-control";
Dictionary<int, string> statuses = new Dictionary<int, string>();
statuses.Add(Category.ListStatus.Rejected, "Rejected");
statuses.Add(Category.ListStatus.Pending, "Pending");
statuses.Add(Category.ListStatus.Reviewed, "Reviewed");
statuses.Add(Category.ListStatus.Accepted, "Accepted");
<div class="form-group">
@Html.LabelFor(model => model, new { @class = "col-sm-2 control-label text-right" })
<div class="col-sm-10 editor-field">
@Html.DropDownListFor(model => model, statuses.Select(x => new SelectListItem
{
Text = x.Value,
Value = x.Key.ToString(),
Selected = Convert.ToByte(x.Value) == Model
}))
@if (ViewData.ModelState.ContainsKey(Html.NameForModel().ToString()) && ViewData.ModelState[Html.NameForModel().ToString()].Errors.Count > 0)
{
@Html.Raw(Html.ValidationMessageFor(model => model, null, htmlAttributes: new { @class = "error" }).ToHtmlString().Replace("span", "label"))
}
</div>
</div>
DropDownlistForでエラーが発生しました "入力文字列が正しい形式ではありませんでした。"
MVCのViewModel?本当に ? – lukai
質問がありません。 – JeremyWeir
あなたの問題は何ですか? –