1

有人可以告诉我为什么复选框 '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 被返回?

4

2 回答 2

2

你为什么不利用这个助手:

 @Html.TextBox("userId", null, new { id = "userId" });

这会将适当的idname属性添加到您的文本框中。

于 2013-10-22T14:55:43.207 回答
1

只需添加name属性:

<input type="text" id="userId" name="userId" />

但是,还要确保您的操作接受它作为参数,string userId或者是回发的模型的一部分。所以,在你的情况下,你可能只是这样做:

public ActionResult IndexPOST(UserLoginRecordIndexVM model, string userId)
于 2013-10-22T14:56:11.200 回答