MVC3 ActionLink кошмар - PullRequest
       12

MVC3 ActionLink кошмар

0 голосов
/ 20 мая 2011

У меня есть страница панели инструментов, которая имеет 4 частичных просмотра.В каждом представлении есть ссылка для редактирования, которая при нажатии загружает другой шаблон.

Теперь в новом шаблоне будут сохранены и отменены.Когда я нажимаю «Отмена», я хочу загрузить старый вид, а когда нажимаю «Сохранить», я хочу сохранить модель и вернуться к старому виду.

Все это должно быть частичным обновлением.Как бы я этого достиг.

Для начала я использую ссылку действия ajax (используя post), чтобы просто вернуть строку datetime.вместо того, чтобы обновлять мой div, он перенаправляет меня в другое представление.MVC смехотворно сложен.да ...

1 Ответ

1 голос
/ 30 мая 2011

Ах ... MVC прост, если вы установили чистый способ делать что-то:)

так - каждая панель управления имеет 4 партиала.Так что как вариант - у вашей главной страницы есть четыре элемента div.внутри каждого div, используйте Html.Partial для отображения ваших представлений.Каждое частичное представление имеет свой собственный тег Ajax.BeginForm.UpdateTargetId - это идентификатор divs в родительском представлении.Я не большой поклонник ребенка, которому нужно знать имя своего родителя для обновления, и есть несколько других способов (один вариант - каждое из четырех представлений - это два других представления для каждого - одно, чтобы содержать формуи div, который обновляется, а затем вызывается частичное представление, например:

Каждое «родительское» частичное представление имеет, например,


<div id='divAddressEdit'>
@using (Ajax.BeginForm("action","controller",  new AjaxOptions() { UpdateTargetId = "divAddressEdit", InsertionMode = InsertionMode.Replace }){
@Html.Partial(....)
}
</div>

. Предположим, вы переходите к первому варианту, где каждое частичное представлениепредставление содержит свою собственную форму AJAX. Итак, когда пользователь сохраняет - хорошо ... форма AJAX отправляет обратно, а затем RedirectsToAction () и снова отображает новый контент. При нажатии кнопки отмены происходит то же самое - форма отправляет и выперезагрузите исходную информацию.

Ключ здесь - формы ajax. Я знаю, что я не включил здесь много кода - поскольку я полагаю, что ваш пост - скорее концептуальный вопрос - если это не имеет смысла, явыложу конкретные образцы.

...