c# - 将视图模型从视图传递到控制器的问题
问题描述
我将视图模型从视图传递到控制器时遇到问题。我不知道为什么,但我的控制器中的模型是空的。这是我的代码。
我的视图模型包括两个数据模型。
对不起这两行,但我必须在这里写一些愚蠢的东西,只是因为编辑器阻止了我的例子,因为看起来我的帖子主要是代码并促使我添加更多细节:-)
视图模型
public class ModShopView
{
public IEnumerable<ModShopText> Description { get; set; }
public IEnumerable<ModShop> EshopItems { get; set; }
}
模型电子商品
public class ModShop
{
[Required]
public int IdZbozi { get; set; }
[Required]
public string NazevZbozi { get; set; }
[Required]
public decimal Cena { get; set; }
[Required]
public int Vat { get; set; }
public int Mnozstvi { get; set; }
}
控制器
[HttpPost]
public IActionResult Shop(ModShopView mymodel, IFormCollection collection)
{
//return View("objednavka");
string result = string.Empty;
string nazev = string.Empty;
int pocet = 0;
foreach (var items in collection)
{
if ((pocet = int.TryParse(items.Value, out pocet) ? pocet : 0) > 0)
{
if (!ModelState.IsValid)
{
nazev = mymodel.EshopItems.Where(x => x.IdZbozi == Convert.ToInt32(items.Key)).Select(x => x.NazevZbozi).ToString();
}
result = "Key=" + items.Key + " value=" + items.Value + " název:" + nazev.ToString() + "<br/>" + result;
}
}
return Content($"result: {result}");
}
看法
@model MojeIdentita.Models.ModShopView
@using MojeIdentita.Helpers
@{
string lang = (string)ViewContext.RouteData.Values["lang"] ?? "cz";
ViewData["Title"] = Html.GetLangResourceHtml(lang, "menuShop", true);
}
<h1 class="text-left" role="heading" aria-level="1">@Html.GetLangResourceHtml(lang, "menuShop", true)</h1>
<div class="">
<div>
@Html.Raw(Model.Description.FirstOrDefault().Part1)
</div>
@using (Html.BeginForm())
{
@foreach (var Polozky in Model.EshopItems)
{
<div class="row">
<div class="col-md-3 col-sm-6 col-xs-12 city"><p>@Polozky.NazevZbozi</p></div>
<div class="col-md-3 col-sm-6 col-xs-12"><p>@Polozky.Vat</p></div>
<div class="col-md-3 col-sm-6 col-xs-12"><p>@Polozky.Cena</p></div>
<div class="col-md-3 col-sm-6 col-xs-12"><p><input type="text" id="inputpocet" name="@Polozky.IdZbozi" /></p></div>
</div>
}
<input type="submit" value="@Html.GetLangResourceHtml(lang, "txtObjednat", true)" class="order" />
}
</div>
拜托,你能帮我找出我犯错的地方吗?谢谢
解决方案
推荐阅读
- unit-testing - 使用烧瓶登录为烧瓶应用程序创建 pytest 套件
- html - 使用 CSS 在大文本旁边格式化小文本
- angular - 错误类型错误:无法读取未定义的属性“productId”
- javascript - Stackblitz 错误从项目加载二进制文件
- sql - PostgreSQL 性能,使用 ILIKE 仅占两个百分比而不是根本不使用
- python - 无法从 CSV 文件中获取相关密码和 ID
- delphi - 如何限制for循环仅打印列表中的前几条记录?
- rest - 上次修改日期的 Acumatica REST API 过滤器
- apache-zeppelin - Apache Zeppelin 如何为每个用户保存解释器配置
- android - Android 在 RecyclerView 项目点击时访问 TextView 值