2015-01-13 9 views
5

मैं 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 हिस्सा याद किया और अब यह काम कर रहा है। –

संबंधित मुद्दे