Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / MVC - Почему в jQuery "submit" это не совсем "submit"? / 7 сообщений из 7, страница 1 из 1
17.07.2018, 12:09
    #39674938
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
Известно, что <a> или ActionLink( ... ) может благополучно отправить в нужное место контроллера, но данные формы передать не в состоянии, поскольку не формирует submit. Но, вроде бы, если привинтить скрипт, который по щелчку на якорном элементе формы будет формировать submit (.trigger("submit")), то проблема разрешиться. Но не тут-то было! Вот простейшая программка:
Контроллер
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using System;
using System.Collections.Generic;
using System.Web.Mvc;

namespace RedirectToAction.Controllers
{
    public class HomeController : Controller
    {
        [HttpGet]
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(MainClass mainClass)
        {
            return View(mainClass);
        }
    }

    public class MainClass
    {
        public int НомерРаботника { get; set; }
        public string fioDirektora { get; set; }
    }

}



Представление (типизированное)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
@model RedirectToAction.Controllers.MainClass

<script type="text/javascript">
    $(function ()
    {
        function ClickActionLink()
        {
            $("#idForm").trigger("submit");
        };

        function init()
        {
            $("#idActionLink").bind("click", ClickActionLink);
        };

        $(init);
    })
</script>

<style type="text/css">

</style>

@{
    ViewBag.Title = "Index";
}

<div class="container">
    <h2>submit через ActionLink </h2>
    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "idForm" }))
    {
        if (Model == null)
        {
            @Html.TextBoxFor(x => x.НомерРаботника, "",
                     new { @style = "width: 60px; padding-left: 3px;", @Value = "1234" })
            @Html.TextBoxFor(x => x.fioDirektora, "",
                     new { @style = "width: 200px; padding-left: 3px;", @Value = "Введите фамилию" });
        }
        else
        {
            @Html.TextBoxFor(x => x.НомерРаботника, "",
                     new { @style = "width: 60px; padding-left: 3px;" })
            @Html.TextBoxFor(x => x.fioDirektora, "",
                     new { @style = "width: 200px; padding-left: 3px;" });
        }
        



        <div class="btn btn-default">
            @Html.ActionLink("Сохранить", "Index", "Home",                      
                              new { id = "idActionLink" })
        </div>
        @*<input type="submit" value="Сохранить" />*@
    }
</div>



(input пока закомментировано)
Исходный вариант представлен на рисунке 1
После ввода информации в поля формы (рисунок 2) при щелчке на ActionLink (скрипт выдаёт "submit") данные благополучно воспринимаются Post-методом Index (рисунок 3), но потом в модели не сохраняются, то есть появляется исходный вариант (рисунок 1).
Если submit формируется <input ... /> , то всё в полном порядке - данные принимаются сервером (Рис. 3), а затем благополучно появляются и на форме (рисунок 2). То есть, в данном варианте с input модель сохраняется на сервере.
В чём проблема!?
С уважением ...
...
Рейтинг: 0 / 0
17.07.2018, 12:26
    #39674949
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
ValGerИзвестно, что <a> или ActionLink( ... ) может благополучно отправить в нужное место контроллера, но данные формы передать не в состоянии, поскольку не формирует submit. Но, вроде бы, если привинтитьниче не понял.
Зачем на линк перехода прикручивать сабмит?
...
Рейтинг: 0 / 0
17.07.2018, 14:45
    #39675089
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
Petro123ValGerИзвестно, что <a> или ActionLink( ... ) может благополучно отправить в нужное место контроллера, но
данные формы передать не в состоянии, поскольку не формирует submit. Но, вроде бы, если привинтитьниче не понял.
Зачем на линк перехода прикручивать сабмит?

Это другой вопрос, а по существу что-нибудь можете сказать?
С уважением ...
...
Рейтинг: 0 / 0
17.07.2018, 15:53
    #39675126
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
ValGerPetro123пропущено...
ниче не понял.
Зачем на линк перехода прикручивать сабмит?

Это другой вопрос, а по существу что-нибудь можете сказать?
С уважением ...

По существу - ты вручную код обфусцируешь?

Сколько запросов отправляется на веб-сервер при нажатии на кнопку "Сохранить"?
Что они возвращают?
Посмотри в отладчике браузера.
...
Рейтинг: 0 / 0
17.07.2018, 15:54
    #39675127
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
ValGerЭто другой вопрос,нет.
На дурацкие вопросы голова не работает.
Представь, что на sql.ru при клике на ссылку перехода пойдет POST сохранить на сервер?
Удачи!
...
Рейтинг: 0 / 0
17.07.2018, 16:51
    #39675168
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
Petro123POST сохранить на сервер
POST к "сохранить на сервер" имеет косвенное отношение.
...
Рейтинг: 0 / 0
17.07.2018, 17:39
    #39675198
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему в jQuery "submit" это не совсем "submit"?
Агнец за бортомPetro123POST сохранить на сервер
POST к "сохранить на сервер" имеет косвенное отношение.
А какое прямое?
Get?
Я понимаю, что можно отправить форму на сервер на сохранение, а там плюнуть на это.
Но мы же про логику не отмороженную.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / MVC - Почему в jQuery "submit" это не совсем "submit"? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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