Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Call a server side MVC action on the click of a Kendo UI button

I just download a trial version of v2013.3.1119.440 of the Kendo UI wrappers for ASP.NET MVC. I see a new Kendo.Mvc.UI.Fluent.ButtonBuilder wrapper in this version that wasn't in the version I had downloaded just 20 days ago on another PC.

The said wrapper represents a button.

I can't see a way to directly wire this Kendo.Mvc.UI.Fluent.ButtonBuilder wrapper with a server side MVC action. How do I do that?

I do see the Events method on the ButtonBuilder class, which accepts a Action<ButtonEventBuilder> events. In the ButtonEventBuilder, I see another method called Click, which has two overloads, but both are for wiring client side event handlers of the button.

I don't see a way to directly wire up a server side call-back/post-back with the button click.

Am I missing something? Is the only way to do it the manual way of firing the server side post back or call back from a JavaScript function?

like image 548
Water Cooler v2 Avatar asked Nov 26 '13 14:11

Water Cooler v2


1 Answers

The Button is new in the latest release of Kendo UI (last week). It doesn't directly support what you're looking for, but something similar could be accomplished like this:

@(Html.Kendo().Button()
    .Name("textButton")
    .Content("Text button")
    .HtmlAttributes( new {type = "button"} )
    .Events(ev => ev.Click("onClick")))

Then a JS function similar to this:

function onClick(){
    $.ajax({
        url: '/controller/action'
        data: { // data here }
    }).done(function(result){
        // do something with the result
    }).fail(function() { // handle failure });
}

More info can be found in their demo site: http://demos.kendoui.com/web/button/events.html

like image 92
Matt Millican Avatar answered Sep 20 '22 15:09

Matt Millican