Как передать параметры функции OnSuccess класса AjaxOptions в ASP.NET MVC?

как я могу передать параметры

2 ответов


вы должны иметь возможность использовать селектор jQuery для заполнения значения из поля на странице:

<%= Ajax.ActionLink("Delete", 
                    "Delete", 
                    "MyController", 
                    New With {.id = record.ID}, 
                    New AjaxOptions With 
                    {
                        .Confirm = "Delete record?", 
                        .HttpMethod = "Delete", 
                        .OnSuccess = "updateCount($('#SomeField).val()))"
                    })
%>

Также посмотрите здесь:могу ли я передать параметр с событием OnSuccess в Ajax.Actionlink панели


вот пример MVC4. OnBegin, OnSuccess, OnComplete и OnFailure-функции используются для включения/отключения анимации ajax. Каждая функция передает идентификатор элемента в качестве параметра, чтобы я мог повторно использовать мои функции js для всех моих разделов ajax. ajaxOnbegin () показывает gif, и ajaxOnsuccess снова скрывает его.

<script>
@*Ajax Animation*@
    $(document).ready(function () {
        $("#ajaxLoadingGif").hide();
    });
    function ajaxOnbegin(id) {
        //show animated gif
        $(id).show();
    }
    function ajaxOnsuccess(id) {
        //disable animated gif
        $(id).hide();
    }
    function ajaxOnfailure(id) {
        //disbale animated gif
        $(id).hide();
    }
    function ajaxOncomplete(id) {
        //disable animated gif
        $(id).hide();
    }


  </script>

@Ajax.ActionLink(linkText: " Hi", // <-- Text to display
                  actionName: "getJobCards", // <-- Action Method Name
                  routeValues: new {  searchString = ViewBag.searchString},
                  ajaxOptions: new AjaxOptions{
                               "#itemId", // <-- DOM element ID to update
                                InsertionMode = InsertionMode.Replace, 
                                HttpMethod = "GET", // <-- HTTP method
                                OnBegin =    "ajaxOnbegin('#ajaxLoadingGif')", 
                                          //="ajaxOnbegin" without parameters
                                OnSuccess =  "ajaxOnsuccess('#ajaxLoadingGif')",
                                OnComplete = "ajaxOncomplete('#ajaxLoadingGif')",
                                OnFailure =  "ajaxOnfailure('#ajaxLoadingGif')"
                                },
                                htmlAttributes: new { id = ViewBag.ajaxId }

                  )