发生HttpPost方法时的空模型值

时间:2013-09-18 16:32:36

标签: asp.net-mvc-4 http-post partial-views guid

我有删除用户的部分视图。我使用bootstrap模态弹出窗口进行此操作。

所以我的代码如下。

Index.chtml

    @*Inside foreach loop*@
   <div class="modal hide fade" id="Delete_@index">
         @Html.Partial("_DeleteUser", user)
   </div>

_DeleteUser

@model Classes.User

<div class="modal-header">
   <button type="button" class="close" data-dismiss="modal">×</button>
   <h3>İstifadəçinin məlumatları</h3>
</div>
   @using (Html.BeginForm("DeleteUser", "Admin", FormMethod.Post))
   {
       Html.HiddenFor(user => user.UserId);
       Html.AntiForgeryToken();
       <div class="modal-body">
           <strong>Bu istifadəçini silmək istədiyinizdən əminsiniz...?</strong>
       </div>
       <div class="modal-footer">
           <a href="#" class="btn" data-dismiss="modal">Close</a>
           <button class="btn btn-danger"><i class="icon-trash icon-white"></i>Save Changes</button>
      </div>
   }

我的HttpPost方法动作:

    [HttpPost]
    public ActionResult DeleteUser(User user)
    {
        userRepository.DeleteById(user.UserId);
        return View("User");
    }

在此方案之后,我获得User.UserId的 {00000000-0000-0000-0000-000000000000} 类型Guid值。也许它有很简单的解决方案,但我找不到一个小时。请帮帮我。

不是:我用

1)Html.HiddenFor(user => user.UserId);
2)<input type="hidden" value="@Model.UserId" id="UserId"/>

但仍无效。

解决方案: * 当我移动隐藏在模型体内div时,它的工作原理我不知道)),非常感谢每个人 *

1 个答案:

答案 0 :(得分:1)

查看部分视图的来源。我刚才有类似的设置和结果。发现我必须以不同的方式做我的隐藏领域。使用

<input type="hidden" value="@Model.UserId"> 

有正确的ID,其中html.hiddenfor为空。