在用户的编辑页面上,我有一个块,允许我或其他管理员编辑用户角色。这是edit.cshtml中的代码
<tr>
@foreach (var role in roles)
{
<td style="text-align:center">
@using (Html.BeginForm("UserInRole", "Member"))
{
<input type="hidden" value = "@user" name="username" />
<input type="hidden" value= "@role" name="rolename" />
<input type="hidden" value="@id" name="id" />
<input type="checkbox" name="ischecked" onclick="this.form.submit();" value="true" checked="@System.Web.Security.Roles.IsUserInRole(@Model.PrimaryEmail, role)" />
}
</td>
}
</tr>
当页面显示时,我在使用Firebug查看时得到以下结果:
<tr>
<td style="text-align:center">
<input type="hidden" name="username" value="cxxxx.xxxxxxxn@xxxxxxxxxx.com">
<input type="hidden" name="rolename" value="Admin">
<input type="hidden" name="id" value="365">
<input type="checkbox" value="true" onclick="this.form.submit();" name="ischecked">
</td>
<td style="text-align:center">
<form method="post" action="/Member/UserInRole" novalidate="novalidate">
<input type="hidden" name="username" value="xxxx.xxxxx@xxxxxxxxxx.com">
<input type="hidden" name="rolename" value="MediaAdmin">
<input type="hidden" name="id" value="365">
<input type="checkbox" value="true" onclick="this.form.submit();" name="ischecked">
</form>
请注意第一个
中缺少的表单标记不明白为什么会这样。