0

「はい」と「いいえ」を表示するドロップダウンリストがあります。ドロップダウンリストから「はい」を選択すると、1がデータベースに保存されます。「いいえ」を選択すると、0が保存されます。「作成」ページのドロップダウンから「はい」を選択すると、表示されますはい、インデックスページでは保存されますが、保存される値は1である必要があります

モデルは:

public class State
{
    [Key]
    public int StateID { get; set; }       
    public string Code { get; set; }        
    public string Description { get; set; }
    public int Active { get; set; }  
}

作成.cshtml

 <div class="editor-field">
        @Html.DropDownListFor(model => model.Active,new[]{new SelectListItem() {Text="Yes",Value="1"},
                                                            new SelectListItem(){Text="No",Value="0"}})
        @Html.ValidationMessageFor(model => model.Active)

インデックス.cshtml:

   <td>
     @Html.DisplayFor(modelItem => item.Active)
    </td>

yes と no の値を持つドロップダウンを取得し、それに応じて 1 と 0 を格納しています。しかし、インデックス ページでは、yes と no の代わりに 1 と 0 を表示しています...助けてください...

4

2 に答える 2

0

その理由は、保存している整数値(0または1)が表示されているためです。「はい」または「いいえ」を表示するには、値を文字列に変換してビューモデルに渡す必要があります。理想的には、インデックスページのビューモデルを作成する必要があります。

public class IndexViewModel
{

    public string Active {get;set;}

    ...

}

コントローラロジック

if(Active == 0)
    active = "No"
 else
    active = "Yes"

return(new IndexViewModel 
{
   Active = active 
   ...
}

お役に立てれば

于 2013-01-29T11:40:50.727 に答える
0

これを試して

@Html.DisplayFor(modelItem =>item.Active ==0 ? "はい":"いいえ")

于 2013-04-08T18:02:16.687 に答える