Trong ASP.NET MVC và sử dụng Razor, tôi có một View (cha mẹ) gọi một View (con) là một phần. Cả hai đều được đánh máy mạnh mẽ nhưng chúng có kiểu Mô hình khác nhau.Làm cách nào để ngăn chế độ xem chuyển mô hình của nó sang chế độ xem một phần, nhưng thay vì vượt qua null?
Thông thường, trong những trường hợp này, chúng tôi chuyển mô hình một cách rõ ràng từ chế độ xem gốc cho chế độ xem con.
@Html.Partial("Child", Model)
Chúng tôi cũng có thể chọn không chỉ định rõ ràng Mô hình được thông qua và trong trường hợp đó, Chế độ xem gốc sẽ cố chuyển Mô hình của riêng mình đến Chế độ xem con. Điều này làm việc nếu các loại phù hợp và nó là mong muốn trong nhiều trường hợp.
@Html.Partial("Child")
Trong trường hợp của tôi, tuy nhiên, Tôi thực sự muốn View mẹ không để cố gắng vượt qua bất cứ điều gì cho đứa trẻ View. Tôi sẽ làm như thế nào?
tôi nghĩ cố gắng vượt qua null
một cách rõ ràng:
@Html.Partial("Child", null)
Nhưng điều này vẫn còn đi mẫu của cha mẹ cho đứa trẻ View, kết quả là một lỗi: The model item passed into the dictionary is of type 'A', but this dictionary requires a model item of type 'B'.
(Như một mặt lưu ý, các Xem trẻ em là Chế độ xem Tạo cho mô hình của nó, đó là lý do tại sao tôi không có một trường hợp nào để chuyển cho nó.)
Sắp xếp của . Để chính xác hơn, lý do là vì, khi khung nhìn được gọi ra, không có một cá thể của Model * khái niệm đó *. Tôi cảm thấy không thoải mái khi tạo và truyền một thể hiện của một Mô hình chưa tồn tại và có thể không được cam kết chút nào chỉ để thỏa mãn công cụ xem. –