2016-09-26 11 views
0
ViewBag.UserStatusList = new List<SelectListItem> 
{ 
    new SelectListItem{Text = "Active", Value = "1",Selected=true}, 
    new SelectListItem { Text = "Inactive", Value = "0",Selected=false } 
}; 

上記は私がドロップダウンリストにバインドしているビューバックを示しています。ここでは、ビューページのデフォルトアイテムとしてアクティブを修正したいと思います。私はいくつかの提案にデフォルト値としてドロップダウンで値= 1の項目を設定できますか?

@Html.DropDownListFor(m => m.UserStatus, (IEnumerable<SelectListItem>)ViewBag.UserStatusList, new { @id = "ddlCustomerStatusList", @class = "form-control", @selected = "selected" }) 

を与えてください。これは、あなたがビュー

model.UserStatus = 1; 
return View(model); 

を返す前に、GETメソッドでモデルのプロパティの値を設定する必要が私の見解

+0

(設定ビューを表示はありませんモデルプロパティに正しくバインドされていれば、 'SelectListItem'の' Selected'プロパティは無意味です。 –

答えて

1

であることをどのように行うことができますDropDownListFor()メソッドで無視されるため、Selectedプロパティの設定を削除することができます(内部では、バインドするプロパティの値に基づいてIEnumerable<SelectListItem>を新規作成します)

も注意してくださいあなたはnew { @selected = "selected" }を削除する必要があります(つまり、<select>要素の有効な属性ではありません)とヘルパーが既にid属性を作成するようnew { @id = "ddlCustomerStatusList" }を使用する必要が(そのid="UserStatus"

+0

あなたの返事をありがとう、私は変更を行いましたが、まだデフォルトアイテムとしてアクティブになっていません。私は初心者として私を考慮してください –

+0

私は私のビューバックの前にmodel.UserStatus = 1を置くとき働いています。ありがとうございます –

+0

あなたは 'ViewBag'を使用すべきではありません。 'SelectList'のプロパティを持つ[view model](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)を使用する必要があります。強く型付けされています([[この質問/答え](http://stackoverflow.com/questions/34366305/the-viewdata-item-that-has-the-key-xxx-is-of-type-system-int32-but-must-be-o)) –

関連する問題