我正在创建MVC Web应用程序,我想在将Property定义为Bool时像这样:
public bool? Active { get; set; }
然后在视图中,将生成包括特定css类“ form-check-input”的复选框,并用Div将其包围,如下所示:
<div class="form-check">
<input class="form-check-input" type="checkbox" id="Active">
<label class="form-check-label" for="Active">
Check me out
</label>
</div>
在这种情况下,如果我在模型中具有Bool类型的多个属性,则该html应该自动生成! 我提供了bool类型作为示例! 有没有提示或您可以提供任何示例?
答案 0 :(得分:0)
要使用Mvc Core生成单个复选框,只需使用input-tag-helper。您需要在模型上定义一个Boolean
属性(或在使用Razor Pages的情况下为PageModel),然后将其传递给asp-for属性,只要该属性不可为空即可:
public bool Active { get; set; }
并在您看来:
<input asp-for="Active" />
您可能已经知道,传递给asp-for属性的属性名称用于id和name属性的值。生成的HTML将包含Active
属性的两个字段:
<input type="checkbox" data-val="true" data-val-required="The Active field is required." id="Active" name="Active" value="true">
<input name="Active" type="hidden" value="false">
但是,如果您要生成多个复选框,那么也许可以从这段代码开始:
@for (var i = 1; Model.[your model].Count(); i++)
{
<input asp-for="[your model][i].Active" />
}
注意[your model]
是类模型或PageModel的名称(如果使用Razor页面)。