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