Model oluşturan ve modeli parametre olarak geçiren bir görünümü çağıran bir denetleyicim var. Görünümde Model türünü belirten bir Yönelme yönergesi vardır. Aynı Görünümü yeniden kullanmak, ancak denetleyiciden farklı bir model geçirmek istiyorum. Görünümdeki (yönerge) Model yönergesini dinamik olarak (veya koşullu olarak) değiştirmek mümkün mü? Benim denetleyicisi eylem Örneğinod direct direct direct direct direct direct direct direct direct ra ra ra ra ra ra ra ra ra ra ra ra ra
:
var contactsModel = db.GetContacts();
var companiesModel = db.GetCompanies();
return (someCondition)? View(contactsModel):View(companiesModel);
O zaman nasıl bir Görünüm yönergesinde @model tanımlayabilirsiniz hem modellerini karşılamak için? Aynı görünümün bilgiyi iletilen modelin türüne göre oluşturmasını istiyorum.
Teşekkür ederiz.
GÜNCELLEME:
Teşekkürler ama sadece farklı modelleri ile bir ortak Görünüm kullanmak gerekir.
Mümkün, işte bu nasıl yapılabilir. Bir Görünümde
ben define: Model sınıfta@model IEnumerable<MvcApplication1.Models.IBaseInterface>
Ben tanımlayın:
public interface IBaseInterface { }
public class Contact: IBaseInterface {}
public class Company: IBaseInterface {}
Sonra bir görünümünde kullanıyorum:
@if (Model is List<Contact>) {
@foreach (var item in (List<Contact>)Model)
{ // Here item has type Contact }
}
@if (Model is List<Company>) {
@foreach (var item in (List<Company>)Model)
{ // Here item has type Company }
}
Çalışmaları mükemmel :)