如果ASP.NET Core 2 MVC的CheckBoxFor在模型中始终返回false,可能有以下几种解决方法:
public class MyModel
{
public bool MyCheckbox { get; set; }
}
@model MyModel
@Html.CheckBoxFor(model => model.MyCheckbox)
检查视图中的表单提交方式。如果使用GET请求提交表单,复选框的值可能会被忽略,因为复选框只在选中时提交其值。如果需要在GET请求中获取复选框的值,可以考虑使用Query字符串或隐藏字段来传递该值。
检查模型绑定的设置。确保在应用程序的Startup.cs文件中配置了正确的模型绑定设置。使用UseMvc方法时,可以通过AddMvcOptions方法来配置模型绑定选项。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddMvcOptions(options =>
{
options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(_ => "The field is required.");
});
}
这些解决方法中的任何一个都可能解决ASP.NET Core 2 MVC的CheckBoxFor在模型中始终返回false的问题。根据具体情况,可能需要逐步排除问题并找到最适合的解决方法。