Asp.net mvc 4 发生HttpPost方法时为空模型值

Asp.net mvc 4 发生HttpPost方法时为空模型值,asp.net-mvc-4,http-post,partial-views,guid,Asp.net Mvc 4,Http Post,Partial Views,Guid,我有删除用户的部分视图。我使用引导模式弹出窗口进行此操作 所以我的代码如下 Index.chtml @*Inside foreach loop*@ <div class="modal hide fade" id="Delete_@index"> @Html.Partial("_DeleteUser", user) </div> 在这个场景之后,我得到User.UserId的{00000000-0000-0000-0000-00000

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

所以我的代码如下

Index.chtml

    @*Inside foreach loop*@
   <div class="modal hide fade" id="Delete_@index">
         @Html.Partial("_DeleteUser", user)
   </div>
在这个场景之后,我得到User.UserId的{00000000-0000-0000-0000-000000000000}类型Guid值。也许它有很简单的解决办法,但我找不到一个小时。请帮帮我

不是:我使用

1)Html.HiddenFor(user => user.UserId);
2)<input type="hidden" value="@Model.UserId" id="UserId"/>
1)Html.HiddenFor(user=>user.UserId);
2)
但仍然不起作用

解决方案:
*当我移动隐藏在model body div中时,它会工作,为什么会发生(我不知道)),非常感谢大家*

在局部视图中查看源代码。不久前,我有一个类似的设置和结果。我发现我必须用不同的方法来处理隐藏字段。使用

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


在html.hiddenfor为空的位置有正确的id。

我相信您的意思是
value=“@Model.UserId”
。您还可以使用非强类型的备用隐藏帮助程序,即
@Html.Hidden(“UserId”、@Model.UserId)
。我使用Html.HiddenFor(user=>user.UserId);。但不起作用。查看源代码时,隐藏字段是否有值?如果没有随模型一起传递,则可以尝试向输入标记添加名称,然后在控制器调用请求上添加名称。Form[“UserId”]查看是否可以通过这种方式获取id,仅提交具有
名称
属性的表单输入。
1)Html.HiddenFor(user => user.UserId);
2)<input type="hidden" value="@Model.UserId" id="UserId"/>
<input type="hidden" value="@Model.UserId">