2012-02-22 27 views

Trả lời

23

Đặ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.

+1

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

+2

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

+0

Tại sao mọi người có thể giải thích điều này. – maxspan

-1

Chỉ cần chắc chắn để đưa dòng này bên trong thẻ form

@Html.HiddenFor(model => model.JobIndicator) 
7

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

0

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">

Các vấn đề liên quan