У меня есть пользовательский элемент управления с именем "LoginUserControl.ascx", который я поместил на главной странице.
Заголовок "LoginUserControl.ascx"
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MultiTechnologyWeb.Models.loginmodel>" %>
Затем я использовал приведенный ниже код для отображения пользовательского контроля на главной странице.
<% Html.RenderPartial("LoginUserControl"); %>
При первом запуске загружается страница «index».
Обратите внимание на заголовок страницы «index», модель не указана. Таким образом страница успешно загружена
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MT.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
Теперь я нажимаю на ссылку, чтобы открыть register.aspx. Я получил ошибку ниже
Элемент модели, передаваемый в словарь, имеет тип 'MultiTechnologyWeb.Models.registermodel', но для этого словаря требуется элемент модели типа 'MultiTechnologyWeb.Models.loginmodel'.
Заголовок страницы "register.aspx"
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MT.Master" Inherits="System.Web.Mvc.ViewPage<MultiTechnologyWeb.Models.registermodel>" %>
Так что, по моему пониманию, модель взаимозаменяема, поэтому любой может помочь мне решить эту проблему
Больше объяснений ............. ПОСЛЕДНИЕ
У меня есть отладка, я знаю, что сбой происходит после того, как результат действия для регистра завершится.
Код ниже предназначен для actionresult "регистрация"
public ActionResult register()
{
registermodel model;
//some code here
return View("register",model);
}
Так что я просто возвращаю один тип модели, который является "registermodel", можно ли будет вернуть другую модель, такую как "loginmodel", используя список или массив для возврата нескольких моделей в одном представлении.