2009-10-16 63 views
7

Theo mặc định, hộp văn bản được hiển thị bằng cách sử dụng <% = Html.TextBox ("somefield")%> sử dụng giá trị từ dữ liệu bài đăng, ví dụ: nếu bạn có lỗi xác thực trên trang của mình, giá trị được lấy từ dữ liệu đã đăng và được sử dụng cho thuộc tính giá trị.Làm thế nào để xóa dữ liệu bài đăng cho một hộp văn bản trong một ứng dụng ASP.NET MVC?

Bây giờ, trong một vài trường hợp tôi muốn có thể xóa giá trị đó, nói cách khác tôi muốn hộp văn bản trống, tôi không muốn MVC lấy giá trị từ dữ liệu đã đăng và sử dụng nó cho giá trị thuộc tính, làm thế nào tôi có thể làm gì? Làm cách nào để xóa dữ liệu bài đăng?

Cảm ơn

Trả lời

12
ModelState.Remove("key"); 
+4

Điều này cũng có vẻ hoạt động nếu bạn muốn xóa tất cả các giá trị: ModelState.Clear(); – jesperlind

+0

Bất kỳ cách nào để thực hiện điều đó mà không xóa các chuỗi truy vấn và lỗi xác thực? – stuartdotnet

+1

@StuartDobson Để tham khảo trong tương lai, nếu bạn loại bỏ khóa, sau đó thiết lập lỗi xác nhận của bạn, đó không phải là một vấn đề. Ít nhất, nó làm việc cho tôi. – ErocM

3

Tháo giá trị từ trạng thái mô hình, như thế này:

ViewData.ModelState.Remove("somefield"); 
2

tôi thấy tôi vừa phải loại bỏ các ModelState và thay đổi mô hình, như thể MVC cố ModelState đầu tiên , sau đó mô hình:

ModelState.Remove("key"); 
model.key = ""; 

Và nếu bạn không muốn mất trạng thái Lỗi cho mô hình, bạn chỉ có thể thay đổi giá trị như sau:

ModelState.SetModelValue("Captcha", new ValueProviderResult(null, string.Empty, System.Globalization.CultureInfo.InvariantCulture)); 
model.key = ""; 
Các vấn đề liên quan