ASP.NET MVC, эквивалентный событию щелчка Response.Redirect
-
21-08-2019 - |
Вопрос
У меня есть HTML-форма в представлении, которую время от времени необходимо сбрасывать.Проблема в том, что поля включаются/отключаются в зависимости от ввода.Поэтому единственный способ по-настоящему сбросить форму — это перезагрузить представление (я бы предпочел, чтобы перезагрузилась вся страница).В некоторых случаях простое обновление не работает.Мне нужен эквивалент Response.Redirect() и перенаправление представления на себя...Хорошего решения пока не нашел.
Я пытался:
-Добавление ActionResult в контроллер, который
public ActionResult ResetNoteReport()
{
return RedirectToAction("NoteReport");
}
-Установка события нажатия на самой кнопке, которая
onclick="window.location.href('<%= Url.Action("NoteReport")%>');"
-Удаление ввода и установка значений в значение null или "" через JQuery...
Среди множества других ударов...Любая помощь будет очень признательна!Спасибо!
Решение
Извините, что потратил на это ваше время.По какой-то причине мои попытки использовать window.location.href() раньше были ошибочными и не перезагружали страницу.Когда я вернулся к этому, я попробовал ваше предложение, но в итоге вернулся к window.location.href().Конечный результат: я не знаю, что с ним было не так раньше, но следующее работает отлично:
<script type="text/javascript">
function reload() {
window.location.href = "<%=Url.Action("NoteReport") %>";
};
</script>
<%= Html.Button("reset", "Reset", HtmlButtonType.Button, "reload()") %>
Еще раз спасибо за быстрые ответы!Я люблю этот сайт!
Другие советы
просто в сторону, но вместо того, чтобы менять страницу, не могли бы вы использовать одну из утилит jquery form, чтобы очистить форму?
Проблема в том, что поля включаются/отключаются в зависимости от ввода.
Это именно та ситуация, когда MVC не подходит.В таких сценариях веб-формы работают намного лучше.
<%= Html.Button("reset", "Reset", HtmlButtonType.Button, "window.location.reload()") %>