Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 3.86 KB  |  hits: 29  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. MVC3 data-val-* attributes not emitted from model editor template
  2. [MetadataType(typeof(FieldTripRouteMetadata))]
  3. public partial class FieldTripRoute
  4. {
  5.     private class FieldTripRouteMetadata
  6.     {
  7.         [Required]
  8.         [DisplayFormat(DataFormatString = "{0:d}")]
  9.         public DateTime Date { get; set; }
  10.  
  11.         [Required]
  12.         [DisplayName("Route")]
  13.         public int RouteID { get; set; }
  14.  
  15.         [Required]            
  16.         [DisplayName("Departure Time")]
  17.         [UIHint("TimeWithPeriod")]
  18.         [DisplayFormat(DataFormatString = "{0:h:mm tt}")]
  19.         public DateTime DepartureTime { get; set; }
  20.  
  21.         [Required]
  22.         [StringLength(255)]
  23.         [DisplayName("Pickup Location")]
  24.         public String PickupLocation { get; set; }
  25.  
  26.         [Required]
  27.         [StringLength(255)]
  28.         public String Destination { get; set; }
  29.  
  30.         [Required]            
  31.         [DisplayName("Arrival Time")]
  32.         [UIHint("TimeWithPeriod")]
  33.         [DisplayFormat(DataFormatString = "{0:h:mm t}")]
  34.         public DateTime ArrivalTime { get; set; }
  35.  
  36.         public bool IsReturnRoute { get; set; }
  37.  
  38.         public int FieldTripID { get; set; }
  39.     }
  40.        
  41. @model FieldTripRoute
  42.        
  43. <fieldset class="add@(routeType)Route" style="clear: both; width: 620px; margin-right: auto; margin-left: auto;">
  44.     <legend>Add Route</legend>
  45.     <div style="float: left; width: 275px;">
  46.         <div>
  47.             <div class="editor-label">@Html.LabelFor(model => model.Date)</div>
  48.             <div class="editor-field">@Html.EditorFor(model => model.Date)</div>
  49.             <div class="validation-error">@Html.ValidationMessageFor(model => model.Date)</div>
  50.         </div>
  51.         <div>
  52.             <div class="editor-label">@Html.LabelFor(model => model.DepartureTime)</div>
  53.             <div class="editor-field">@Html.EditorFor(model => model.DepartureTime)</div>
  54.             <div class="validation-error">@Html.ValidationMessageFor(model => model.DepartureTime)</div>
  55.         </div>
  56.         <div>
  57.             <div class="editor-label">@Html.LabelFor(model => model.ArrivalTime)</div>
  58.             <div class="editor-field">@Html.EditorFor(model => model.ArrivalTime)</div>
  59.             <div class="validation-error">@Html.ValidationMessageFor(model => model.ArrivalTime)</div>
  60.         </div>
  61.     </div>
  62.     <div style="float: left;">
  63.         <div>
  64.             <div class="editor-label">@Html.LabelFor(model => model.RouteID)</div>
  65.             <div class="editor-field">@Html.DropDownListFor(model => model.RouteID, Model.EditRouteList)</div>
  66.             <div class="validation-error">@Html.ValidationMessageFor(model => model.RouteID)</div>
  67.         </div>
  68.         <div>
  69.             <div class="editor-label">@Html.LabelFor(model => model.PickupLocation)</div>
  70.             <div class="editor-field">@Html.TextBoxFor(model => model.PickupLocation)</div>
  71.             <div class="validation-error">@Html.ValidationMessageFor(model => model.PickupLocation)</div>
  72.         </div>
  73.         <div>
  74.             <div class="editor-label">@Html.LabelFor(model => model.Destination)</div>
  75.             <div class="editor-field">@Html.EditorFor(model => model.Destination)</div>
  76.             <div class="validation-error">@Html.ValidationMessageFor(model => model.Destination)</div>
  77.         </div>          
  78.     </div>        
  79.     <div style="clear: both; width: 100px; margin: 20px auto 0 auto;">
  80.         <input type="button" id="submit@(routeType)Form" name="submit@(routeType)Form" value="Add" />
  81.     </div>
  82. </fieldset>
  83.        
  84. public class FieldTripEditViewModel
  85. {
  86.     public FieldTrip Trip { get; set; }        
  87.     public FieldTripRoute Route { get; set; }        
  88.     public FieldTripRoute ReturnRoute { get; set; }
  89.  
  90.     public FieldTripEditViewModel(){}
  91.  
  92.     public FieldTripEditViewModel(FieldTrip trip)
  93.     {
  94.         this.Trip = trip;
  95.         this.Route = new FieldTripRoute();
  96.         this.ReturnRoute = new FieldTripRoute {IsReturnRoute = true};
  97.     }
  98. }