0
我有这个控制器中的模型为空(它的一切)的问题。因此,从视图中模型被错误填充。所以当应用程序到达控制器时,模型是空的(一切都是空的)。模型从视图不给控制器
查看:
@{
ViewBag.Title = "Product Beheer";
Layout = "~/Views/Shared/_Layout3.cshtml";
}
@model IntroSport.Models.ProductToevoegModel
<h2>ProductToevoegen</h2>
@using (Html.BeginForm("ProductMaken", "Admin"))
{
//@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">Prijs</div>
<div class="editor-field">
@Html.EditorFor(model => model.Product.Prijs)</div>
<div class="editor-label">Size</div>
<div class="editor-field">
@Html.EditorFor(model => model.Product.Size)</div>
<div class="editor-label">Merk</div>
<div class="editor-field">
@Html.EditorFor(model => model.Product.Merk)</div>
<div class="editor-label">Naam</div>
<div class="editor-field">
@Html.EditorFor(model => model.Product.Naam)</div>
<div class="editor-label">URL Foto</div>
<div class="editor-field">
@Html.EditorFor(model => model.Product.AfbeeldingURL)</div>
<input type="submit" value="Voeg toe" />
</fieldset>
}
控制器:
public ActionResult ProductMaken()
{
try
{
ProductToevoegModel viewModel = new ProductToevoegModel();
return View(viewModel);
}
catch (Exception e)
{
ViewBag.FoutMelding = "Er is iets fout gegaan: " + e;
return View();
}
}
[HttpPost]
public ActionResult ProductMaken(ProductToevoegModel model)
{
if (ModelState.IsValid)
{
try
{
productDBcontroller.maakProduct(model);
return Redirect("/admin/ProductBeheer");
}
catch (Exception e)
{
ViewBag.FoutMelding = "Er is iets fout gegaan: " + e;
return View();
}
}
else
{
return View("ProductMaken", model);
}
型号:
namespace IntroSport.Models
{
public class ProductToevoegModel
{
public Product Product { get; set; }
}
}
产品型号:
namespace IntroSport.Models
{
public class Product
{
public int ProductID;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public String Naam;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public String Size;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public String AfbeeldingURL;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public String Merk;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public int Categorie;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public int Voorraad;
[Required(ErrorMessage = "Dit is een verplicht veld!")]
public Double Prijs;
}
}
我需要使用ProductToevoegModel因为我后来想添加一个Dropbox的菜单。 – Kraishan
这不会是这种模型的问题。描述问题。 –
问题是,当我填写表单并单击提交时,HttpPost操作“ProductMaken”中的viewModel完全是空的。所以填写的表格不能正确发送。 – Kraishan