autocomplete
属性がに設定されたフォームがありますoff
。
このフォーム内には、非表示の入力要素があります(ASP.NET MVCのHtml.HiddenFor()
メソッドを使用して生成されますが、これは関係ありません)。
<input type="hidden" value="0" name="Status" id="Status" data-val-required="The Status field is required." data-val-number="The field Status must be a number." data-val="true">
フォームが送信されると、この値が1つインクリメントされ、モデルがビューに返されます。ページにステータス値を書き込むと、値が正しくインクリメントされていることがわかります。
ただし、この非表示の入力フィールドは常にキャッシュされます。正しい値を取得することはありません。input要素に直接属性を設定しようとしautocomplete
ましたが、成功しませんでした。
この隠しフィールドを取得して正しい値を取得するにはどうすればよいですか?Javascriptは使いたくないです。
編集:より多くのコードを提供しています...
コントローラ
//This code is being executed, and the status is being incremented.
shippingOrder.Status = (shippingOrder.Status != (int)OrderStatus.Closed) ? shippingOrder.Status + 1 : shippingOrder.Status;
意見
@using (Html.BeginForm("Number", "Order", FormMethod.Post, new { id = "orderSummary", autocomplete = "off" })) {
...
@Html.HiddenFor(m => m.Status)
}