2

私はMVCを行っており、ドロップダウンリストでルックアップ値を持っています。 UpdateModelを呼び出すときは、ルックアップが更新される前に値のみが更新され、何も更新されません。私は間違いがない。MVC - UpdateModelとDropDownLists

私は私のcintrollerに次のコードを編集して作成して使用することができます。

のViewData [ "SiteMaintenanceId"] = this._siteRepository.FindAllSiteMaintenances内メートル(から)ToListメソッド()

 select new SelectListItem 
    { 
     Text = m.Maintenance, 
     Value = m.SiteMaintenanceId.ToString(), 
     Selected = (m.SiteMaintenanceId == site.SiteMaintenanceId) 
    }; 


     return View(new SiteFormViewModel(site,    
     this._siteRepository.FindAllSiteOperators())); 

これは大丈夫ですが、ドロップダウンの編集で選択した値を取得して作品を作成することができます。

これは初めてのMVCですので、どんな助けでも大歓迎です。

答えて

1

このクエリにはほとんど応答がないようですので、私はそれを試してみます。

問題/要件を理解するのは少し難しいですが、私が正しく理解していれば、ドロップダウンから値を取り戻そうとしていますか?私に知らせていないなら、私はこれをより良くフィットさせるために編集します。

私は正しいと仮定します。

私のドロップダウンリストをセットアップするには、少し違いがあります。私はそれが重要だとは思わないが、とにかくそれを共有すると思った。

私はこのようなFormViewModelを持っています。

public class CalendarEventFormViewModel 
{ 
    public CalendarItem Event { get; set; } 
    public SelectList States; 
} 

私のActionResultには、次の状態があります。

fvm.States = new SelectList(Enumerations.EnumToList<Enumerations.AustralianStates>(), "Value", "Key", fvm.Event.state); 

次に、それを単にビューに戻します。

ビューにはこのようなドロップダウンがあります。

<% using (Html.BeginForm()) { %> 
    <%=Html.DropDownList("selectedState", Model.States, new { @class="stateSelector" })%> 
<%} %> 

ここで私は州のリストを持っています。私は選択された状態を取得したいポストバックで。だから... ...

[AcceptVerbs(HttpVerbs.Post), ValidateInput(false), Authorize] 
public ActionResult Add(FormCollection collection) 
{ 
    CalendarItem fvm = new CalendarItem(); 
    UpdateModel(fvm); 
} 

さて、これは私の作品とCalendarItemオブジェクト内のすべてのフィールドが記入されている

しかし、あなたの値を取得していない場合は、試してみたいことがあります。これはあなたのクエリに応答する場合

String state = collection["selectedState"]; 

は再び、私はわからないんだし、それがこの回答にコメントを添付してくださいしない場合、私はそれに応じて調整します。

関連する問題