7

Tôi biết rằng nếu tôi muốn ràng buộc các phần tử không tuần tự vào một danh sách trong MVC, tôi có thể sử dụng cú pháp Index được mô tả here.Ràng buộc danh sách không tuần tự với một liên kết mô hình tùy chỉnh

Tuy nhiên, tôi không thể xác thực từ xa để làm việc với điều này (sử dụng thuộc tính Remote).

Ví dụ, nếu tôi có một mô hình như thế này:

public class AddUsers { 
    public List<User> Users { get; set; } 
    public string Comment { get; set; } 
} 

public class User { 
    [Remote("UsernameAvailable", "User")] 
    public string Name { get; set; } 
} 

Sau đó, giả sử trong quan điểm của tôi, tôi đã như sau (tôi cố tình bỏ đi những người giúp đỡ Html Tôi đang sử dụng cho rõ ràng):

<input type="hidden" name="Users.Index" value="foo" /> 
<input type="text" name="Users[foo].Name" /> 

<input type="hidden" name="Users.Index" value="bar" /> 
<input type="text" name="Users[bar].Name" /> 

Trong một bài mẫu, lĩnh vực Index đi cùng cho đi xe, giúp mô hình chất kết dính liên kết tất cả mọi thứ độc đáo, như:

Comment=bla&Users.Index=foo&Users[foo].Name=john&Users.Index=bar&Users[bar].Name=bob 

Nhưng khi xác nhận từ xa gây nên, chỉ này sẽ được gửi đến hành động của tôi (hai yêu cầu riêng biệt, một cho từng hạng mục được xác nhận):

Users[foo].Name=john 
Users[bar].Name=bob 

Nếu không có một Index, Mô hình chất kết dính không biết phải làm gì với điều này. Nó không được liên kết với một số User, một số List<User> và cũng không phải là AddUser.

Điều này đưa tôi đến câu hỏi của tôi.

Có cách nào để viết một trình kết nối mô hình tùy chỉnh có thể xử lý các danh sách không tuần tự mà không cần sử dụng ký hiệu Index không? Tôi phải thừa nhận rằng rất khó cho tôi để xem tại sao ký hiệu Index là cần thiết (ngoại trừ có lẽ là tối ưu hóa một số loại).

Tôi đang sử dụng MVC 4 và .NET 4.5.

Lưu ý: Tôi chưa bao giờ gặp rắc rối với các trình liên kết mô hình tùy chỉnh trước đây, vì vậy tôi thực sự đang tìm một số hướng dẫn chung về việc liệu nó có khả thi hay không. bắt đầu.

+0

Về lý thuyết validator từ xa nên hoạt động tốt. Bạn có thể mở rộng bài viết của bạn như thế nào bạn muốn sử dụng trình xác nhận từ xa và hành động từ xa trông như thế nào? – nemesv

+0

@nemesv, tôi đã cập nhật bài đăng của mình. Việc này có đủ rõ ràng không? Không một hành động xác thực nào lấy 'User', một' List 'cũng như' AddUser' sẽ có thể ràng buộc, bởi vì 'Index' bị thiếu. – Eric

+0

tôi đã có thể giải quyết vấn đề của tôi bằng cách áp dụng các giải pháp từ [câu trả lời này] [1] [1]: http://stackoverflow.com/a/10801577/546561 – Eric

Trả lời

0

tôi đã có thể giải quyết vấn đề của tôi bằng cách áp dụng các giải pháp từ this answer - Eric 22 Tháng 3 '13 tại 22:28

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