5
Supponiamo di avere la seguente interfaccia:ASP.NET MVC È possibile avere un'interfaccia come modello in vista?
public interface IUserListVM
{
IList<string> UserList { get; }
}
e un modello vista implementa questa interfaccia vista modello:
public class UserListVM : IUserListVM
{
private IList<string> userList = new List<string>();
IList<string> UserList
{
get { return userList; }
}
}
è quindi possibile avere una vista che prevede un modello che eredita l'IUserListVM . Dire che ho un UserList vista parziale che sembra qualcosa di simile:
@model MVCWebsite.Views.IUserListVM
@foreach (string user in Model.UserList) {
user
}
Il significato di questo è di avere una vista parziale come autonomo possibile.
Sì, ma se la visualizzazione principale non ha bisogno dei dati che si stanno passando, il modello sta facendo molto [SRP] (https://en.wikipedia.org/wiki/Single_responsibility_principle). Invece dovresti usare [RenderAction] (http://devproconnections.com/development/how-use-aspnet-mvc-render-action-helpers). –