Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC аналог ClickButton как в WebForms / 7 сообщений из 7, страница 1 из 1
11.06.2016, 16:14
    #39254672
e24
e24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
Подскажите, как реализовать аналог WebForms клика на Батон без переадресации на страницу "Method1"?
То есть оставаясь на той же странице (по тому же адресу) и вывести на страницу сообщение, через ViewData["Msg"]

HTML:
Код: c#
1.
2.
3.
4.
5.
6.
@using (Html.BeginForm("Method1", "Controller1", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <button type="submit" name="btn1" id="btn1" >
        <span>Кнопка1</span>
    </button>
}



Сервер:
Код: c#
1.
2.
3.
4.
5.
6.
7.
public ActionResult Method1()
{
    ViewData["Msg"] = "Сообщение ...";
    return View();
    //return View();
    //return RedirectToAction("../Controller1/");
}



То есть мне надо вывести сообщение на той же странице на которой нажали на кнопку.
Заранее спасибо!
...
Рейтинг: 0 / 0
11.06.2016, 18:17
    #39254708
Monochromatique
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
e24То есть мне надо вывести сообщение на той же странице на которой нажали на кнопку.
Заранее спасибо!

Это среда JS.

Если твое сообщение от чего то зависит, то единственный метод:

1. Нажимаем кнопку.
2. JS-код посылает запрос на сервер.
3. Оттуда возвращается мессага в JSON, скажем, фоормате.
4. В JS-callback-е обрабатывается вывод сообщения на страницу.

Когда ты нажимаешь кнопку, страница в душе ничего не знает ни про какой ViewData. И не узнает.

ASP.NET MVC может две вещи.

1. Вернуть по запросу кусок HTML-разметки.
2. Вернуть по запросу некоторые данные.

Всё.
...
Рейтинг: 0 / 0
11.06.2016, 18:19
    #39254710
Monochromatique
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
Как вариант, при нажатии кнопки - ты можешь заново отрендерить страницу, со вставленным сообщением. И вернуть её.

Визуально это будет как "на той же странице".

Фактически - конечно нет.

WebForms, кстати, так и делал.
...
Рейтинг: 0 / 0
11.06.2016, 18:53
    #39254734
e24
e24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
Мне надо без JS.
И вот самое главное, что бы адресная строка не менялась.
...
Рейтинг: 0 / 0
11.06.2016, 19:12
    #39254744
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
e24Мне надо без JS.
И вот самое главное, что бы адресная строка не менялась.
Без JS не получится, ну разве что через iframe.
В WebForms JavaScript генерируется за Вас теми компонентами, что Вы используете.

В MVC посмотрите на Ajax-Формы
...
Рейтинг: 0 / 0
11.06.2016, 19:15
    #39254747
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
e24, ну или так...

HTML:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
$(function() {
    $('#btn1').click(function() {
        $.getJSON('controllerName/Method1', function(result) {
            alert(result.Msg);
        });
    });
});



Сервер:
Код: c#
1.
2.
3.
4.
public ActionResult Method1()
{
    return Json(new { Msg = "Сообщение ..." });
}
...
Рейтинг: 0 / 0
13.06.2016, 12:25
    #39255203
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC аналог ClickButton как в WebForms
e24Мне надо без JS.
И вот самое главное, что бы адресная строка не менялась.
По нажатию кнопки вызывается HttpPost событие, на котором заполняется TempData["Msg"], делается RedirectToAction того же метода HttpGet, где проверяется на Null считывается TempData["Msg"], если не Null, то заполняется ViewData["Msg"] и открывается тот же самый View который проверяет ViewData["Msg"] и показывает сообщение.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC аналог ClickButton как в WebForms / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]