Ich habe das folgende Modell:
public class Product
{
[Key]
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
[Required]
[StringLength(10)]
public string ProductCode { get; set; }
[Required]
[StringLength(40)]
public string ProductName { get; set; }
}
und das folgende Paar von Add-Methoden in der Steuerung:
[HttpGet]
public ActionResult Add()
{
return View();
}
[HttpPost]
[ValidateInput(false)]
[ValidateAntiForgeryToken]
public ActionResult Add(Product product)
{
productRepository.Add(product);
return RedirectToAction("Index");
}
Dies ist die Ansicht Hinzufügen:
@using Models
@model Product
<h2>Add Product</h2>
@using (@Html.BeginForm("Add", "Home")) {
@Html.AntiForgeryToken()
@Html.EditorForModel()
<input type="submit" id="btnSubmit" value="Submit"/>
}
Alles wird gut angezeigt, leider kann ich das Formular nicht abschicken. Ich habe eine Weile gebraucht, um herauszufinden, dass das Feld Id validiert wird. In der Tat, wenn ich die HiddenInput
Attribut kann ich beim Absenden sehen, dass das Feld Id erforderlich ist.
Gibt es eine Möglichkeit, sie als nicht erforderlich zu markieren und trotzdem EditorForModel()
?