Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 2
Регистрация: 03.11.2013
Сообщений: 50
1

Как передать собственную модель в частичное представление?

15.06.2018, 08:33. Показов 2087. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,
только начинаю разбираться с mvc, помогите, пожалуйста с такой задачей.

На основной странице есть 2 поля: вопрос (текст) и ответ (input). Для основной страницы создано представление, в которое передаётся модель IndexViewModel
C#
1
2
3
4
5
@model MyProject.Models.IndexViewModel
@Html.DisplayFor(model => model.Question, new { htmlAttributes = new { @class = "form-control" } })
@Html.EditorFor(model => model.Answer, new { htmlAttributes = new { @class = "form-control" } })
<input type="button" value="Узнать результат" onclick="location.href='@Url.Action("DisplayResults", "Home")'" />
@Html.Partial("_ResultPartial");
После нажатия кнопки ответ проверяется и в частичное представление должен выводиться результат.
В контроллере формируется модель для результата - ResultModel.

Методы контроллера:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public ActionResult Index()
        {
             var model = new IndexViewModel()
            {
                //Question = ...
            };
            
            return View(model);
        }
 
        public ActionResult DisplayResults(string answerText)
        {
            var resultModel = new AnswerResultModel
            {                
               //ResultText = ...
            };
 
        return PartialView("_ResultPartial", resultModel);
        }
Получаю ошибку: System.InvalidOperationException: "Элемент модели, переданный в словарь, имеет тип "MyProject.Models.IndexViewModel", но для этого словаря требуется элемент модели типа "MyProject.Models.AnswerResultModel"."

Т.е. частичное представление получает модель основного представления, а не свою собственную. Как правильно отображать частичное представление в данном случае?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2018, 08:33
Ответы с готовыми решениями:

Передать модель в частичное представление
Мне нужно предать в частичное представление только часть модели сама модель: public class...

Передать модель в представление и получить данные
Есть модель (пример): public class User { public string Surname { get; set; } ...

Как добавить частичное представление в дочерние элементы
в общем не знаю как добавить частичное представление в jquery ajax в дочернии элементы то есть...

Как добавить частичное представление на мастер страницу?
Есть файл, _Layout.cshtml Есть файл Create.cshtml, который добавляет пользователя в базу данных...

1
1 / 1 / 2
Регистрация: 03.11.2013
Сообщений: 50
21.06.2019, 06:14  [ТС] 2
Вместо
C#
1
@Html.Partial("_ResultPartial");
в представлении должно быть:

C#
1
@Html.Action("PartViewAction", "ControllerName", new { id = Model.Id })
в контроллере:

C#
1
2
3
4
5
6
 [ChildActionOnly]
        public ActionResult PartViewAction(string id)
        {
             ...          
             return PartialView("_PartialView", partialViewViewModel);
        }
0
21.06.2019, 06:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2019, 06:14
Помогаю со студенческими работами здесь

Как корректно вынести часть функционала в частичное представление?
У меня есть представление (View) и соответствующая ViewModel под него. У модели есть поле Status и...

Net Core Razor Pages как вернуть частичное представление?
Пытаюсь тут разобраться. Есть Net Core Web Application, не MVC. Как на страницу вернуть частичное...

Как создать собственную модель?
currencymodel.h class CurrencyModel : public QAbstractTableModel { Q_OBJECT public:...

Как после серии AJAX запросов вернуть полное представление, а не частичное
Здравствуйте. Я сочиняю своего рода опросник (тест) и столкнулся с проблемой. Суть проблемы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru