Jon*_*han 1 c# asp.net asp.net-core asp.net-core-2.1
我正在使用 asp.net core 2.1,我有一个简单的视图,其形式如下:
@model Security.WebUi.Pages.AssignClaimToUserModel
<form method="post">
<div>
<label>User: </label>
<select asp-for="UserId" asp-items="@Model.UserList">
<option>Please select one</option>
</select>
</div>
<div>
<label>Role?</label>
<input type="checkbox" name="IsRole" id="isRole" />
</div>
<div>
<label>Claim Type</label>
<input type="text" name="ClaimType" id="claimType" />
</div>
<div>
<label>Claim Value</label>
<input type="text" name="ClaimValue" />
</div>
<button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
IsRole正如你所看到的,我有一个带有属性的复选框
所以在我的模型中我有一个布尔值:
public class ClaimToUserdModel
{
public string ClaimType { get; set; }
public string ClaimValue { get; set; }
public Guid UserId { get; set; }
public bool IsRole { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后在我调用的方法中:
public async Task<IActionResult> OnPost(ClaimToUserdModel model)
{
....
}
Run Code Online (Sandbox Code Playgroud)
但它总是抛出 false,它不关心检查与否。我究竟做错了什么?
小智 5
我遇到了同样的问题,我通过编写 html 复选框标记来修复它,为其提供与属性名称相同的名称,并且 value = true,如果未选中该复选框,则无需担心,因为它无论如何都不会提交,在您的如果是这样
<input type="checkbox" name="Remember" value="true" checked="@Model.YourmodelPropertyname"/>
Run Code Online (Sandbox Code Playgroud)
您还可以使用 jquery 设置复选框选中的属性值。
| 归档时间: |
|
| 查看次数: |
2874 次 |
| 最近记录: |