Aynı View'de iki farklı model kullanımı

Bazı projelerimizde aynı sayfada iki adet view kullanmak zorunda kalabiliriz. Bunun için yapmamız gereken @model etiketinden sonra Tuple fonksiyonunu kullanarak sayfaya eklemek istediğimiz Modelleri , ile ayırarak yazıyoruz.

@model Tuple<Login, Register>

@Html.TextBoxFor(m => m.Item1.UserName)

@Html.TextBoxFor(m => m.Item2.UserName)

Kullanıcı giriş ve kayıt sayfasını birleştirdiğimizi düşünürsek. Hem giriş login modeline hemde register modeline ihtiyacımız var. Üstteki kod ile Item1 ve Item2 şeklinde kodumuzu çalıştırabiliriz.

Bir örnek daha yapalım.

@model Tuple<Product, Categorie, User>

@Html.TextBoxFor(m => m.Item1.ProductName)

@Html.TextBoxFor(m => m.Item2.CategorieName)

@Html.TextBoxFor(m => m.Item3.UserName)

Bu modelleri eğer register ve login için kullanıyorsanız Controller daki ActionResult aşağıdaki gibi değiştirmelisiniz.

public async Task<ActionResult> Register(Tuple<Login,Register> model)
{
     UserName = model.Item2.UserName
}
Makale Tarihi: 31.07.2015 Gücellenme Tarihi: 12.03.2016

Yorum Yaz

Yorumlarınız denetimden geçtikten sonra yayınlanmaktadır...