Asp.net
設置 Html.Hiddenfor 的值
我有一個表格,可以送出投標。
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "Login" })) { @Html.ValidationSummary(true, "Gelieve alle velden in te vullen.") @Html.LabelFor(m => m.Bid)<br /> @Html.TextBoxFor(m => m.Bid)<br /> @Html.LabelFor(m => m.Name)<br /> @Html.TextBoxFor(m => m.Name)<br /> @Html.LabelFor(m => m.Email)<br /> @Html.TextBoxFor(m => m.Email)<br /> @Html.HiddenFor(model => model.Car_id, new { value = ViewBag.car.id }) <input type="submit" value="Bied" class="button" /> }我想將 hiddenfor 的值設置為汽車的 id(我用 viewbag 得到它),但它不起作用,如下所示:
<input data-val="true" data-val-number="The field Car_id must be a number." data-val-required="Het veld Car_id is vereist." id="Car_id" name="Car_id" type="hidden" value="" /> <input type="submit" value="Bied" class="button" />這樣做的正確方法是什麼?還是有其他方法可以將值傳遞給我的程式碼?我只需要 Postback 方法中的 Car_id ..
甚至認為 Raphaël Althaus 所說的使用硬編碼字元串是正確的,在重構過程中總是很痛苦。所以試試這個
@{ Model.Car_id = ViewBag.car.id; } @Html.HiddenFor(model => model.Car_id)通過這種方式,它仍然是您模型的一部分,並且更加清潔。
要麼
Car_id不是模型的一部分,則不能使用HiddenFor,但必須使用Hidden就像是
@Html.Hidden("Car_id", ViewBag.car.id)假設你在 ViewBag.car.id 中有一些東西,你得到的錯誤似乎意味著那裡什麼都沒有。
或者它是你模型的一部分,你不應該需要一個
ViewBag. 您應該只在與該視圖相關的操作中設置其值。