@Html.HiddenFor(model => model.JobIndicator)
Giá trị cho JobIndicator không được làm mới sau khi gửi trang.Trường ẩn không được cập nhật sau khi biểu mẫu HTML đăng lại
Tôi có thể thấy giá trị được cập nhật khi tôi có nó trong trường hiển thị.
@Html.HiddenFor(model => model.JobIndicator)
Giá trị cho JobIndicator không được làm mới sau khi gửi trang.Trường ẩn không được cập nhật sau khi biểu mẫu HTML đăng lại
Tôi có thể thấy giá trị được cập nhật khi tôi có nó trong trường hiển thị.
Đặt điều này trong điều khiển của bạn:
ModelState.Remove("JobIndicator");
Sau đó, lĩnh vực ẩn của bạn sẽ được cập nhật.
Chỉ cần chắc chắn để đưa dòng này bên trong thẻ form
@Html.HiddenFor(model => model.JobIndicator)
Vấn đề là những người giúp đỡ Html lấy dữ liệu từ ModelState
và không phải từ mô hình bạn vượt qua khi bạn gọi bài hành động .Để giải quyết này , bạn có thể gọi ModelState.Clear()
trong hành động đăng trước khi bạn trả lại chế độ xem của mình, theo cách này thông tin trong ModelState
sẽ bị xóa và được khôi phục sau khi chế độ xem của bạn được tạo lại.
Bạn có thể tìm thêm thông tin về vấn đề này (và các giải pháp khác) trong blog
Ran này trong vấn đề này bản thân mình. Một giải pháp (mặc dù không thanh lịch) là sử dụng cú pháp HTML cơ bản cho điều này và sử dụng giá trị của mô hình.
<input type="hidden" name="JobIndicator" value="@Model.JobIndicator">
Tôi yêu câu trả lời này nhưng tôi ghét hành vi này; không phải rất trực quan. Có vẻ như hiếm khi cắt lên vì tôi hoặc là thay đổi giá trị trường phía máy khách trước khi POST, hoặc tôi đang tạo một mô hình mới, nhưng nếu tôi đặt giá trị tôi muốn nó được thiết lập. – LoveMeSomeCode
Nó đã giúp tôi khắc phục vấn đề bằng cách sử dụng thay cho @ Html.HiddenFor (m => m.Name) – ravithejag
Tại sao mọi người có thể giải thích điều này. – maxspan