2015-01-13 6 views
5

EditorTemplateにいくつかの追加プロパティを渡すにはどうすればよいですか?EditorTemplateに追加プロパティを渡す

私はこの(擬似コードの一種)のようにそれを使用したい:

@Html.EditorFor(m => m.ReturnFlight, new { additionalViewData = new { FlightType = FlightType.Return } }) 
@Html.EditorFor(m => m.OutboundFlight, new { additionalViewData = new { FlightType = FlightType.Outbound } }) 

FlightTemplate:

<h1>FLight @Model.FlightNumber</h1> 
@if(FlightType == FlightType.Outbound) 
{ 
    // Display stuff for outbound flights 
} 
else if(FlightType == FlightType.Return) 
{ 
    // Display stuff for return flights 
} 
@Form.TextboxFor(m => m.Destination) 

答えて

9

あなたはかなりすでにそれを持っている - あなたはまさにこの中に追加のビューデータを渡すことができますthis overloadを使用してください。エディタテンプレートでそれを使用するだけです。 ViewData辞書の値は、動的ViewBagオブジェクトでも使用できます。

@Html.EditorFor(m => m.ReturnFlight, new { FlightType = FlightType.Return }) 
@Html.EditorFor(m => m.OutboundFlight, new { FlightType = FlightType.Outbound }) 

FlightTemplate

<h1>Flight @Model.FlightNumber</h1> 
@if(ViewBag.FlightType == FlightType.Outbound) 
{ 
    // Display stuff for outbound flights 
} 
else if(ViewBag.FlightType == FlightType.Return) 
{ 
    // Display stuff for return flights 
} 
@Form.TextboxFor(m => m.Destination) 
+0

あなたの迅速かつ偉大な答えてくれてありがとうは、ViewBag部分を逃したし、それが今取り組んでいます。 –

関連する問題