2016-03-29 10 views
0

はここでドロップダウンドロップダウンそして、依存ドロップダウンを埋めるためにどのように

ここ
[Required(ErrorMessage = "Gerekli Alan")] 
    [Display(Name = "İl")] 
    [UIHint("DropDownList")] 
    [AdditionalMetadata("DataController", "Register")] 
    [AdditionalMetadata("DataAction", "Province")] 
    public int? ProvinceId { get; set; } 

    [Required(ErrorMessage = "Gerekli Alan")] 
    [Display(Name = "İlçe")] 
    [UIHint("DependentDropDownList")] 
    [AdditionalMetadata("DependsOn", "ProvinceId")] 
    [AdditionalMetadata("DataController", "Register")] 
    [AdditionalMetadata("DataAction", "TownByProvinceId")] 
    public int? TownId { get; set; } 

のための私のviewmodelであることは、私はビューでドロップダウンを埋めることができますどのように地域が選択した項目を町の一覧を表示しようとしています

[HttpPost] 
    public ActionResult Province() 
    { 

     IQueryable<DropDownListItem> queryable = from city in Db.Provinces 
               orderby city.Name 
               select new DropDownListItem { Text = city.Name, Value = city.Id }; 
     return base.Json(queryable); 
    } 

    [HttpPost] 
    public ActionResult TownByProvinceId(int ProvinceId) 
    { 
     IQueryable<DropDownListItem> queryable = from province in Db.Towns 
               where province.ProvinceId == ProvinceId 
               orderby province.Name 
               select new DropDownListItem { Text = province.Name, Value = province.Id }; 
     return base.Json(queryable); 
    } 

コントローラ

です?

+0

あなたはどんな問題を抱えていますか?これらのメソッドを呼び出すビューやスクリプト/ ajaxは表示されていません。 –

+0

このメソッドは何も呼び出されません。だから私はviewmodelを作成し、ドロップダウンを行う方法を知らない@StephenMuecke – John

+0

[this DotNetFiddle](https://dotnetfiddle.net/1bPZym)のコードを勉強してください –

答えて

0

SelectListItemで運がよい場合があります。あなたは、あなたのビューを呼び出してプロパティを移入する前に、あなたのViewModelに

はタイプList<SelectListItem>

のプロパティを作成します。

var model = new MyViewModel { queryable = from province in Db.Towns 
             where province.ProvinceId == ProvinceId 
             orderby province.Name 
             select new SelectListItem { Text = province.Name, Value = province.Id, Selected = false }}; 

次に、あなたの意見では、そう呼ばれます。

@Html.DropDownListFor(m => m.ProvinceId, m.queryable) 

これはあなたのポストバックにProvinceIdに格納されているqueryableのすべての値とドロップダウンメニューを提供します。

関連する問題