- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
抱歉,我的大部分搜索都将我带到旧的 MVC 代码。任何帮助将不胜感激。
在带有标签助手的 MVC 6 中,如何编写一组复选框:
?
我能够正确显示带有标签的复选框,但我不知道如何通过模型将选中的值传回 Controller 。现在,IsOptionSelected 值返回为 false。
我还能够使标签助手的 html 助手起作用,但标签助手不起作用。我也可能把这些都编码错了,所以任何提示都会有所帮助!
这是我目前所拥有的:
显示:
实体:
public class PhoneOption
{
public bool IsOptionSelected { get; set; } = false;
public int OptionId { get; set; }
public string OptionName { get; set; }
}
型号:
[Display(Name = "Phone Options")]
public IEnumerable<PhoneOption> PhoneOptions { get; set; }
. . . .
PhoneOptions = repository.GetPhoneOptions();
存储库:
public IEnumerable<PhoneOption> GetPhoneOptions()
{
IEnumerable<PhoneOption> options = new[]
{
new PhoneOption { OptionId = 1, OptionName = "Phone Case", IsOptionSelected = false },
new PhoneOption { OptionId = 2, OptionName = "Screen Protector", IsOptionSelected = false },
new PhoneOption { OptionId = 3, OptionName = "Car Charger", IsOptionSelected = false },
new PhoneOption { OptionId = 4, OptionName = "Extra Cable", IsOptionSelected = false }
};
return options;
}
查看:
<div class="form-group">
<label class="control-label">Phone Options</label>
<div>
@foreach (var option in Model.PhoneOptions)
{
<div>
@{ string cbId = "PhoneOption_" + @option.OptionId; }
<input asp-for=@option.IsOptionSelected type="checkbox" value=@option.IsOptionSelected id=@cbId name=@cbId />
@Html.Label(@cbId.ToString(), @option.OptionName)
@*This is causing invalid operation exception*@
@*<label asp-for=@cbId.ToString()>@option.OptionName</label>*@
<span asp-validation-for=@cbId class="text-danger" role="alert"></span>
</div>
}
</div>
</div>
提前致谢!
最佳答案
这就是我最终使它起作用的方法。我不确定这是否是最好的方法。我不得不仍然使用 html 助手,因为标签助手不起作用。
型号:
public List<PhoneOption> PhoneOptions { get; set; }
. . .
PhoneOptions = repository.GetPhoneOptions().ToList();
查看:
@if (@Model.PhoneOptions != null && @Model.PhoneOptions.Count() > 0)
{
for (int i = 0; i < @Model.PhoneOptions.Count(); i++)
{
<div>
<input asp-for="@Model.PhoneOptions[i].IsOptionSelected" type="checkbox" />
<label asp-for="@Model.PhoneOptions[i].IsOptionSelected">@Model.PhoneOptions[i].OptionName</label>
@*If these are not included, all OptionIds become 0 and all OptionName becomes null*@
@Html.HiddenFor(x => @Model.PhoneOptions[i].OptionId)
@Html.HiddenFor(y => @Model.PhoneOptions[i].OptionName)
</div>
}
}
我希望这对遇到相同复选框列表问题的其他人有所帮助。
更新:我已经更新了 html 助手以在上面标记助手。
关于c# - 在 MVC 6 中,如何在 View 中编写复选框列表并将选中的值传递给 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36855481/
谁知道现成的脚本或插件提供: -Shift click for check/uncheck all in range -CTRL click to select or unselect all 这可以
如果您点击按钮,它会打开 3 个复选框(一个选择全部,还有两个子输入)。 我想做的是,如果用户点击Centro de dia,输入将保持选中状态,而另一个(在本例中为button)会被选中未经检查。如
我正在学习 Wes Bos 30 天 Javascript 类(class),在一项可选功能上,我需要在底部添加三个按钮:清除全部、选中全部和取消选中全部。这是代码
自从升级到 jquery 1.9 以来,我的脚本停止了检查/取消选中复选框的工作。 我有一个主复选框,用于控制选择/检查表中的复选框列表。升级到新的 jquery 版本后,仅最初单击“检查全部”复选框
我有一个带有复选框列的表格,我添加了以下内容: 这是我的 jQuery 函数: jQuery(document).ready(function() { jQuery('#selec
这是我所拥有的(此处使用 Twitter bootstrap) #html fdsfdsfds
这个问题已经有答案了: Setting "checked" for a checkbox with jQuery (44 个回答) 已关闭 6 年前。 当我单击“问题”时,必须选择/取消选择两个复选框
我有这个表格: First Second Third --- Option1 Option2 有没有办法(使用 JS/jQuery)我可以在 First 时将 first
我试图有一个复选框来选中/取消选中所有其他复选框。 我正在使用此代码: $("#checkall").toggle( function () { $(".kselItems
在复选框列表中,应该可以通过按下按钮来选中/取消选中所有项目。但是下面的代码只能部分工作: All None
当我执行代码时,我得到 4 个复选框,我检查/选择了所有 4 个复选框,当我尝试调试代码时,它确实算作我有 4 个复选框,但所有 4 个复选框都被选中 = false。 我在代码中缺少什么? Li
$("input[type='radio']").each(function() { if ($(this).is(":checked")) { $(this).css('backgrou
我无法使用此 javascript 函数。任何帮助将不胜感激! No function yesno(thecheckbox, thelabel){ var ch
这是我的第一个 js 脚本,请对我温柔点:) 问题是当我点击选中所有按钮时,所有复选框都被选中但它不会将值写入文本区域,如果我单击单个复选框然后值被添加/删除并且没关系,我只是卡住了在那个选中所有/取
我试图在复选框处于选中状态或未选中状态时传递一个值。 但是,它似乎没有通过非检查状态。我正在使用的代码如下: if (document.getElementById('PRODUCT_REVIEW_E
目前我正在使用它来选中/取消选中表单中的所有复选框。 checked=false; function checkedAll (frm1) { var aa= document.getElem
我有 2 个单选按钮,当我单击其中一个按钮时,我会看到下拉菜单,必须在其中选择金额。 到目前为止,我能够检查/取消检查它们,但问题是,当我取消检查单选按钮下拉列表时,不会再次隐藏。 我不太擅长 Jav
HTML: Select All 1. 2. 3. 4. 5. JS: function test(click
我需要为每套图书设置一个选中/取消选中全部复选框。它还应该加上总价和重量。到目前为止,我只能选中每个框,它会很好地添加值,但是一旦我添加一个函数来选中所有框,一切都会停止工作。 //check all
我正在尝试根据来自 mysql 数据库的数据来选中或取消选中复选框。我使用nusoap webservice/webclient读取数据,数据值可以是1或0。 我的代码是: functio
我是一名优秀的程序员,十分优秀!