【发布时间】:2022-11-20 04:15:08
【问题描述】:
我对我要维护的项目完全陌生。
简单的问题:我在我的 cshtml 页面(我知道这是剃刀页面?)中设置了几个复选框和一个标签来测试它后面的绑定类。
我必须工作:
@model Application.Areas.Cms.Models.ProduktBeispielViewModel
<label>@Model.Test</label>
和虚拟机:
public string Test { get; set; } = "THIS IS A TEST";
让我高兴:这些话显示在我的页面上。所以绑定正在工作。
现在我放置了几个复选框,一旦按下提交按钮,我需要检索每个复选框并查看它们的值是已选中还是未选中(应该不会太难)。
我现在首先尝试将我的 VW 的值(例如 true 或 false)显示到我现有的复选框上。
这就是我所做的:
public bool Test2 { get; set; } = true;
CSHTML:
<input type="checkbox" name="FoodTrends" value="@Model.Test2" />
我看到我的复选框,但未选中。
1.) 为什么我的简单绑定不起作用? “价值”不是正确的财产吗? 2.) 我如何从此复选框中检索我的值
谢谢你们!
请看看这个:
我正在返回我的模型,Test2 上的值为 false
现在这是我认为的确切代码:
<input type="checkbox" name="FoodTrends" value="@Model.Test2" checked="@Model.Test2" />
结果是复选框被选中,即使该值设置为 false。
我还注意到我的复选框在“<form>”标签内。
编辑:
Razorcode(简要):
@model Application.Areas.Cms.Models.ProduktBeispielViewModel
@{
ViewBag.PopupHeadline = "Produktbeispiele";
ViewBag.PopupSubHeadline = Model.Item != null ? Model.Item.NameInCurrentLang : "";
ViewBag.HideLanguageComparison = true;
}
@section TabMenu
{
<ul>
<li><a href="@Url.Action("Index", "ProduktbeispieleEditor", new { id = Model.Item.Id })" class="Active">Einstellungen</a></li>
<li><a href="@Url.Action("Image", "ProduktbeispieleEditor", new { id = Model.Item.Id })">Bild</a></li>
</ul>
}
<form action="@Url.Action("SaveIndex")" method="POST" id="idForm">
@Html.HiddenFor(m => m.AutoCloseWindow)
@Html.HiddenFor(m => m.Item.Id)
<input type="checkbox" name="FoodTrends" value="@Model.Test2" />
</form>
【问题讨论】: