将表单中的复选框链接回 MVC/Razor 页面中 class 的字符串 属性
Linking checkboxes in a form back to a string property of a class in MVC/Razor Pages
我正在为一项任务创建一个表格,表格完成后,为每个申请人输入的数据将保存到数据库中。每个属性申请者都是在一个申请者class中创建的,有些是必需的有些不是。
作为其中的一部分,我需要要求用户输入申请人的性别。我最初想做和实施的是为我的表单中的每个性别创建一个复选框,然后根据我的页面模型中选中的性别,我将该性别保存回 [=23= 的性别 属性 ] 这是一个字符串。当 OnPost() 为 运行.
这很好用,但是性别 属性 必须是必需的,当我在 class 和 运行 应用程序中将道具设置为必需时,当我尝试提交表单时我在页面上收到一条错误消息,指出需要性别。
在这种情况下,我编写此代码的最佳方式是什么,还是我应该考虑一个替代解决方案?我知道我可以让用户在文本框中输入性别,它会起作用,但我认为一组复选框会更整洁。
提前致谢,
如果你想让用户从非常有限的选项中做出一个选择,最好的控件就是input type="radio"
。这也有利于与 Razor Pages 验证配合使用。
这是你的 PageModel
属性:
[BindProperty, Required]
public string Gender { get; set; }
这是您的表格:
<span asp-validation-for="Gender"></span>
<form method="post">
<input type="radio" asp-for="Gender" value="Male" />Male<br />
<input type="radio" asp-for="Gender" value="Female" />Female<br />
<input type="radio" asp-for="Gender" value="Other" />Other<br />
<input type="submit"/>
</form>
我正在为一项任务创建一个表格,表格完成后,为每个申请人输入的数据将保存到数据库中。每个属性申请者都是在一个申请者class中创建的,有些是必需的有些不是。
作为其中的一部分,我需要要求用户输入申请人的性别。我最初想做和实施的是为我的表单中的每个性别创建一个复选框,然后根据我的页面模型中选中的性别,我将该性别保存回 [=23= 的性别 属性 ] 这是一个字符串。当 OnPost() 为 运行.
这很好用,但是性别 属性 必须是必需的,当我在 class 和 运行 应用程序中将道具设置为必需时,当我尝试提交表单时我在页面上收到一条错误消息,指出需要性别。
在这种情况下,我编写此代码的最佳方式是什么,还是我应该考虑一个替代解决方案?我知道我可以让用户在文本框中输入性别,它会起作用,但我认为一组复选框会更整洁。
提前致谢,
如果你想让用户从非常有限的选项中做出一个选择,最好的控件就是input type="radio"
。这也有利于与 Razor Pages 验证配合使用。
这是你的 PageModel
属性:
[BindProperty, Required]
public string Gender { get; set; }
这是您的表格:
<span asp-validation-for="Gender"></span>
<form method="post">
<input type="radio" asp-for="Gender" value="Male" />Male<br />
<input type="radio" asp-for="Gender" value="Female" />Female<br />
<input type="radio" asp-for="Gender" value="Other" />Other<br />
<input type="submit"/>
</form>