有人可以告诉我为什么复选框'userId'的id在POST
上返回null<input type='checkbox' onclick='$("#userId").val("@user.Id"); return true; '/>
@using (Html.BeginFormAntiForgeryPost(Url.Action("Index", "ChangeUserAccount"), FormMethod.Post))
{
<input type="text" id="userId" />
<input type="submit" id="btn" name="btnSubmit" value="Update" style="float:right;" />
}
[HttpPost, ActionName("Index")]
[Authorize]
public ActionResult IndexPOST(UserLoginRecordIndexVM model, int? userId)
{
因此,在屏幕上,文本框包含复选框的正确ID,但是当我单击“更新”按钮时会返回NULL?
答案 0 :(得分:2)
为什么不利用这个帮手:
@Html.TextBox("userId", null, new { id = "userId" });
这会将相应的id
和name
属性添加到您的文本框中。
答案 1 :(得分:1)
只需添加name
属性:
<input type="text" id="userId" name="userId" />
但是,还要确保您的操作将其作为参数string userId
,或接受,它是已发布回的模型的一部分。所以,在你的情况下你可能会这样做:
public ActionResult IndexPOST(UserLoginRecordIndexVM model, string userId)