asp.net 4.5.2中意外的@ Html.HiddenFor()行为

问题描述 投票:0回答:1

我在使用@Html.HiddenFor()助手时有一些奇怪的行为,想知道这是否是设计使然?

[id字段本质上是预订表单的Guid字符串值,在用户预订此值之前,该值自然为空/空,并存储在隐藏字段中。

@Html.HiddenFor(m => m.BookingId) 
//Renders correctly as:  
<input type="hidden" name="BookingId" value />

通过ajax发布此表单时,将生成预订ID,并将其与模型中的表单一起返回,并再次使用完全相同的隐藏字段进行存储。我可以验证model.BookingId是否已分配值,但是当我检查隐藏字段的值时,它是否为[[仍然为null?

@Html.HiddenFor(m => m.BookingId) //Renders incorrectly as: <input type="hidden" name="BookingId" value /> //It should be <input type="hidden" name="BookingId" value="The booking id here" />
这里是踢脚,我将html助手更改为此,并且按预期工作...

<input type="hidden" name="BookingId" value="model.BookingId" />

什么给了?
asp.net-mvc razor html-helper
1个回答
0
投票
您可以尝试这种方式

@Html.HiddenFor(model => model.BookingId, new { Value = @Model.BookingId})

© www.soinside.com 2019 - 2024. All rights reserved.