Возврат нескольких частичных представлений в главном представлении на основе действий в частичных представлениях - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть это представление, основанное на модели человека, которая является моделью объекта.

@model TestApp.Models.Person

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@Html.Partial("../PersonContactData/Create");

Затем контроллер My PersonContactData возвращает частичное представление «Создать», которое имеет форму и кнопку отправки. Когда я нажимаю эту кнопку отправки, я выполняю redirectToAction to Index из контроллера PersonContactData и хочу вернуть представление из Index на страницу, описанную выше.

Как мне это сделать?

И я хочу, чтобы все это происходило без обновления страницы. Я могу передать все значения с помощью ajax, но мне нужен какой-то «контейнер» или что-то еще, чтобы фактически взять частичные представления (list, create, edit, .. from PersonContactData), которые возвращаются в основное представление, основанное на модели Person. Другими словами, действия, их соответствующие частичные представления и их функциональность могут работать на странице, основанной на другой модели (Person) и контроллере (PersonController)

Это, например, функция поста ajax, которую я использовал для получения значений из представления создания. Это работает, но все же я хочу перенаправить на действие Index в моем действии HttpPost Create и вернуть View for Index, как это должно работать. Но мой основной вид (на основе модели Person) не будет отображать его.

function ACGetList() {
        var personContactData = {
            ContactType: $('#ddlContactDataType').val(),
            Value: $('#txtContactDataValue').val()
        };
        $.ajax({
            url: '/PersonContactData/Create',
            type: 'POST',
            data: JSON.stringify(personContactData),
            dataType: 'Json',
            contentType: 'application/json; charset=utf-8',
            success: function () { },
            error: function () { }
        });
    }

Заранее спасибо

1 Ответ

0 голосов
/ 14 апреля 2011

ОК, насколько я знаю.

Система MVC - это серверная структура или каркас.M = Модель, V = Вид, C = Контроллер.

Модели - это валидации, БД и т. Д., Вид - это разметки, json, css, xml и т. Д. ... Контроллеры - это php, asp, так что вы можете сказать, чточтобы показать, когда.

Насколько я понимаю ваш вопрос, вы просто просите использовать ajax.

Что делает ajax - это запрашивает страницу и перезагружает некоторые данные или все это на главную страницуиспользуя JS.Проверьте функцию jQuery .ajax или Google.

так скажем, ваша домашняя страница:

mysite.com возвращает <h1>Hello World!</h1>

Затем на странице ajax есть <p>I am ajax</p>

, а затем на домашней странице, используя js / jq, вы можете указать, куда вы хотите, чтобы «я - ajax», перешел на

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...