ciao!
ho una pagina con un form di questo tipo:
il model richiamato è questo:codice:@model NuovoPianoLavoroModel <div class="container div_page_cont div_page_cont_nuovo"> <div class="card"> <div class="card-body"> @Html.ValidationSummary() @using (Html.BeginForm("PianoLavoro", "Nuovo", FormMethod.Post, new { id = "nuovo_mug_form" })) { @Html.AntiForgeryToken() ............ } </div> </div> </div> @section scripts { @Scripts.Render("~/js/validation") }
e questo il controller:codice:using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; namespaceModels.PianoLavoro { public class NuovoPianoLavoroModel { public IEnumerable<SelectListItem> TipologiaPianoLavoro { get; set; } [Display(Name = "Descrizione")] public string Descrizione { get; set; } [Display(Name = "Presidio")] public string Presidio { get; set; } [Display(Name = "Tipologia")] [Range(1, long.MaxValue, ErrorMessage = "Il campo {0} è obbligatorio.")] public long Tipologia { get; set; } } public class PianoLavoroTipo { [Display(Name = "Id")] public long Id { get; set; } [Display(Name = "Tipologia")] public string Tipologia { get; set; } } }
quando accedo alla pagina mi compaiono gli errori che i campi sono obbligatori, ma senza inviare il form.codice:using Easymatica.Somministrazione.Web.UI.Models.PianoLavoro; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; namespace Controllers { public class PianoLavoroController : Controller { public ActionResult Index() { return View(); } public ActionResult Nuovo(NuovoPianoLavoroModel model) { if (model == null) { model = new NuovoPianoLavoroModel(); } List<PianoLavoroTipo> list = new List<PianoLavoroTipo> { new PianoLavoroTipo { Id = 1, Tipologia = "Tipologia 1" }, new PianoLavoroTipo { Id = 2, Tipologia = "Tipologia 2" } }; model.TipologiaPianoLavoro = list.Select(x => new SelectListItem() { Value = x.Id.ToString(), Text = x.Tipologia } ); return View(model); } } }
che se si autoinviasse.
avete un'idea del perchè??

Rispondi quotando