ASP.net MVC4: использовать другую модель в частичном представлении?
Я только изучаю ASP.net MVC, поэтому, пожалуйста, потерпите меня, если я плохо объясню свою проблему.
Можно ли использовать в частичном представлении другую модель, чем та, которая наследуется в представлении?
Мой взглядIndex
в настоящее время наследуетLoginModel
, который занимается авторизацией пользователей. Как только пользователь авторизован, я хочуIndex
отобразить списокtodos
пользователь имеет.todos
получены через LINQ.
Так что мой частичный взгляд хочет наследоватьSystem.Web.Mvc.ViewPage
, но я получаю ошибку, когда использую это: `Элемент модели, переданный в словарь, имеет тип
System.Data.Linq.DataQuery`1[todo_moble_oauth.Models.todo]', but this dictionary requires a model item of type 'todo_moble_oauth.Models.LoginModel'
Это моеIndex
Посмотреть
Todo Mobile
Easily store your list of todos using this simple mobile application
m.UserName) %>
<p class="validation"> m.UserName) %></p>
m.UserName) %>
m.Password) %>
<p class="validation"> m.Password) %></p>
m.Password) %>
m.RememberMe) %>
Remember Me?
Мой частичный взгляд_ListTodos
как следует:
item.title) %>
item.description) %>
мойLoginModel
имеет следующее:
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
HomeController
Index()
метод:
[AllowAnonymous]
public ActionResult Index()
{
// if user is logged in, show todo list
if (Request.IsAuthenticated)
{
//var currentUser = Membership.GetUser().ProviderUserKey;
todosDataContext objLinq = new todosDataContext();
var todos = objLinq.todos.Select(x => x);
return View(todos);
}
return View();
}
Любая помощь с благодарностью, спасибо.