У меня есть кнопка на мой взгляд, которая будет загружать форму обратной связи внутри div
.Открыть частичный вид в DIV и использовать кнопку «Отправить»
<script>
// open feedback window
function openFeedback() {
$('#feedback-container').show();
$('#feedback-container').load('@Url.Content("~/Feedback/")');
}
</script>
<div id="feedback-container"></div>
<button id="feedback-button" onclick="openFeedback()">
Give feedback
</button>
Это загружает Index
вид из Feedback
контроллера. Внутри у меня есть форма с другой кнопкой Submit
.
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
... some controls ...
<input type="submit" value="Send" />
}
И контроллер:
public ActionResult Index()
{
return View(new Feedback());
}
[ValidateAntiForgeryToken]
[HttpPost]
public ActionResult Index(Feedback feedback)
{
SaveFeedback(feedback);
return PartialView("ContactConfirm");
}
Я хочу вернуть вид с «спасибо» сообщение внутри feedback-container
, когда форма помещается обратно, но вместо того, чтобы вся страница загружается - и это только ContactConfirm
вид.
Возможно ли вернуть частичный вид в div?
Это хороший ответ, однако вам нужно убедиться, что вы ссылаетесь на jquery.unobtrusive-ajax.js, иначе браузер будет перемещаться от текущей страницы. – heymega
@heymega На память. Будет редактировать ответ. – tweray