3

内部SelectListの値を選択:設定デフォルトでは、私は私の選択リストのデフォルト値を設定するには、このコードを持っているエディタテンプレート

public ActionResult Register() 
{ 
    IList<Country> countryList = _countryRepository.GetAllCountry(); 

    var registerViewModel = new RegisterViewModel 
    { 
     CountryId = 52, 
     CountryList = new SelectList(countryList, "CountryId", "CountryName", "Select Country") 
    }; 

    return View(registerViewModel); 
} 

私は私の見解でこれを持っており、これはに選択した国の値を設定し、うまく機能します52:私は、このためのエディタのテンプレートを作成するときしかし、国のデフォルト値はそう

が選択されていない

<%: Html.DropDownListFor(model => model.CountryId, Model.CountryList ,"Select Country") %> 

、私はこれに私の現在のビューを変更:

<%: Html.EditorFor(model => model.CountryId,new { countries = Model.CountryList}) %> 

その後、私はこのように私のエディタのテンプレートを作成する:あなたはより良い解決策を持っている場合は、

CountryList = new SelectList(countryList, "CountryId", "CountryName",52 /*Default Country Id*/) 

してください:私は私のコントローラのコードを置き換えることで、これを解決した

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.Int64?>" %> 
<%= Html.DropDownList(
     String.Empty /* */, 
     (SelectList)ViewData["countries"], 
     "Select Country" 
    ) 
%> 

答えて

7

お知らせ下さい。私は受け入れられた答えを変更します。

1

あなたのコントローラにこれを追加します。

ViewData["CountryList"] = new SelectList(_countryRepository.GetAllCountry(), 52); 

次のように続いて、[表示]ページで、ドロップダウンを呼び出す:

@Html.DropDownList("Countries", ViewData["CountryList"] as SelectList) 
関連する問題