Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MVC: Передать форму в контроллер через post 
:(
    Опции темы
Competitor
Дата 28.9.2011, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 23.3.2005
Где: Tula

Репутация: нет
Всего: -1



Всем привет,
На странице есть форма для конкретной модели. Все поля формы смаплены на модель. И если сделать форме сабмит, то полностью заполненная модель придет в метод контроллера.
Но мне теперь нужно отправлять форму не через сабмит, а через jquery метод post. Как мне это сделать?
я пока пробовал так:
Код

var form = $('#myTestForm');
var srlzdform = form.serialize();
$.post("myTestUrl", {
    myTestModel: srlzdform
}).success(function (data) {
    alert(data);
});

Однако, в методе контроллера получаю null в параметре myTestModel.

Вот примерно как выглядит код формы:
Код

@model MyTestModel
@using (Html.BeginForm("Method1", "Controller1", FormMethod.Post, new {id = "myTestForm"})) {
    <div st yle="max-width:600px;">        
        <div>@Html.ValidationMessageFor(model => model.Name)</div>
        <div>@Html.ValidationMessageFor(model => model.Address)</div>
    </div>   
    <div>Имя*</div>
    <div>
        <input data-val="true" data-val-required="Необходимо заполнить поле" id="Name" type="text" class="param-input" name="Name" value="@(Model.Name)" />
    </div>
        
    <div>Адрес*</div>
    <div>
        <input data-val="true" data-val-required="Необходимо заполнить поле" id="Address" type="text" class="param-input" name="Address" value="@(Model.Address)" />
    </div>
}

PM MAIL WWW   Вверх
DonLino
Дата 22.11.2011, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.6.2010

Репутация: нет
Всего: нет



Цитата(Competitor @ 28.9.2011,  11:36)
Всем привет,
На странице есть форма для конкретной модели. Все поля формы смаплены на модель. И если сделать форме сабмит, то полностью заполненная модель придет в метод контроллера.
Но мне теперь нужно отправлять форму не через сабмит, а через jquery метод post. Как мне это сделать?
я пока пробовал так:
Код

var form = $('#myTestForm');
var srlzdform = form.serialize();
$.post("myTestUrl", {
    myTestModel: srlzdform
}).success(function (data) {
    alert(data);
});

Однако, в методе контроллера получаю null в параметре myTestModel.

Вот примерно как выглядит код формы:
Код

@model MyTestModel
@using (Html.BeginForm("Method1", "Controller1", FormMethod.Post, new {id = "myTestForm"})) {
    <div st yle="max-width:600px;">        
        <div>@Html.ValidationMessageFor(model => model.Name)</div>
        <div>@Html.ValidationMessageFor(model => model.Address)</div>
    </div>   
    <div>Имя*</div>
    <div>
        <input data-val="true" data-val-required="Необходимо заполнить поле" id="Name" type="text" class="param-input" name="Name" value="@(Model.Name)" />
    </div>
        
    <div>Адрес*</div>
    <div>
        <input data-val="true" data-val-required="Необходимо заполнить поле" id="Address" type="text" class="param-input" name="Address" value="@(Model.Address)" />
    </div>
}

А чем такой вариант не подходит

Код

<% using (Ajax.BeginForm(
        "Action",
        "Control",
        new AjaxOptions
        {
            HttpMethod = "post",
           OnComplete = "ClearForm()",
            InsertionMode = InsertionMode.Replace
        }))
       {%>
    <input type="text" name="name" />
    <input type="submit" name="submit" value="submit" />
    <% } %>


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.