2017-08-11 16 views
-4

cは私が選択した値にMVC DropdownlistForセット選択した値は、動作していない?#

foreach (var item in clsObj.Branch_SName) 
{ 
    if (item.Value.Split('|')[5] == Session["Branch_ID"].ToString()) 
    { 
     item.Selected = true; //debugger comes here ok but not set value as selected 
     break; 
    } 
} 

を設定するには、このコードを使用していますが、私は

@Html.DropDownListFor(m => m.Branch_Code, Model.Branch_SName) 
としてドロップダウンバインド

return View(clsObj); 

ビュー・リターン・ビューを返します

モデル選択リストをデバッグするときに選択された値は設定されていませんclsObj.Branch_SNameには選択されたvaがありませんルーなぜドロップダウンリストの変更イベントも教えてください。

+2

その選択されているかを決定し 'Branch_Code'の値(つまり、どのようにモデルバインディング作品です) - プロパティにバインドするときSelectListItem''の 'Selected'プロパティを設定は無視されます。オプション値のいずれかと一致する場合、そのオプションが選択されます。 –

+0

あなたはデバッガを見たことがありませんでしたが、私は値が一致していますが、問題はそれが選択された値を設定していないことです。 –

+0

何が何と関係していますか? –

答えて

0

を選択動作します。だからあなたはこのようにする必要があります。

clsObj.Branch_Code= selectedBranCode; //You need to perform filter operation from your collection. 
+0

ありがとう 'selected.Selected = true;'も必要です –

0
List<SelectListItem> lst = GENERIC.ToSelectListItem(ds_1.Tables[0], "Branch_SName", "Branch_Code"); 

var selected = lst.SingleOrDefault(item => item.Value.Split('|')[5] == Session["pUser_Branch_ID"].ToString()); 

selected.Selected = true; //important 
clsObj.Branch_SName = new SelectList(lst, "Value", "Text", selected); //important 
clsObj.Branch_Code = selected.Value;//important 

これは実際にあなたが選択した値としてモデルにバインドされる、Branch_Codeに値を設定することができ、分岐コードを選択し、真の

関連する問題