Отправка формы частичного представления в модальном диалоге MVC, jQuery - PullRequest
0 голосов
/ 24 июня 2011

Вот мой код:

<td class="tedit">
                    <%= Html.ActionLink(item.Comments, "Comments", new { jobNumber = item.JobNumber, ordNumber = item.OrderNumber }, new { @class = "modalEdit" })%>
 </td>



<div id="resultEdit" title="Edit Comments" style="display: none;">
       <% Html.RenderPartial("AddComments", Model.InnerModel.RoadReportModelProp); %>
</div>



 <script type="text/javascript">
        $(document).ready(function () {
            //initialize the dialog
            $("#resultEdit").dialog({ modal: true, width: 300, resizable: true, position: 'center', title: 'Add Comments', autoOpen: false,
                buttons: { "Save": function () {
                    var dlg = $(this);
                    dlg.Close();
                   }}
        });
                        });

        $(function () {
            $('.modalEdit').click(function () {
                //load the content from this.href, then turn it into a dialog.
                $('#resultEdit').load(this.href).dialog('open');
                $.unblockUI();
                return false;
            });
        });

      </script>

Мне нужно отправить запрос POST на контроллер, когда я нажимаю кнопку SAVE в диалоговом окне, но я не могу отправить POST.

Пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 24 июня 2011

Вы можете использовать следующее для публикации, кроме того, можете ли вы предоставить код для формы, которую вы хотите опубликовать, а также контроллер, который вы создали:

<script type="text/javascript">
$(document).ready(function() {
    //get the form
    var f = $("#idofForm");
    var action = f.attr("action");
    var serializedForm = f.serialize();
    $.post(action, serializedForm, function() {
        alert('we are back');
    }
});
</script>
0 голосов
/ 24 июня 2011
  <div> 

        <% using (Html.BeginForm("Post-FormActionName", "Controllername"))
           {
        %>             

             <div class="fieldsColumn">

              <label>Name: *</label>
                <%=Html.TextBoxFor("Name")%>

        </div>

            <div class="fieldsColumn">

              <input id="submit" type="submit" value="Save"/>

        </div>


        <%}%>      

</div>
0 голосов
/ 24 июня 2011

Вы должны иметь возможность использовать $ .post для сохранения ваших данных. Например

$.post(url, data, function(response) {
    // Do something with response
});

Вам нужно будет собрать данные из диалогового окна.

С уважением,

Huske

...