单击 Kendo UI 按钮调用服务器端 MVC 操作

Posted

技术标签:

【中文标题】单击 Kendo UI 按钮调用服务器端 MVC 操作【英文标题】:Call a server side MVC action on the click of a Kendo UI button 【发布时间】:2013-12-11 18:03:51 【问题描述】:

我刚刚下载了用于 ASP.NET MVC 的 Kendo UI 包装器 v2013.3.1119.440 的试用版。我在这个版本中看到了一个新的 Kendo.Mvc.UI.Fluent.ButtonBuilder 包装器,而我在 20 天前在另一台 PC 上下载的版本中没有这个包装器。

上述包装器代表一个按钮。

我看不到将这个Kendo.Mvc.UI.Fluent.ButtonBuilder 包装器与服务器端MVC 操作直接连接的方法。我该怎么做?

我确实在ButtonBuilder 类上看到了Events 方法,它接受Action<ButtonEventBuilder> 事件。在ButtonEventBuilder 中,我看到另一个名为Click 的方法,它有两个重载,但都用于连接按钮的客户端事件处理程序。

我看不到通过单击按钮直接连接服务器端回调/回发的方法。

我错过了什么吗?唯一的方法是手动触发服务器端回发或从 javascript 函数回调?

【问题讨论】:

【参考方案1】:

Button 是最新版本的 Kendo UI(上周)中新增的。它不直接支持您正在寻找的内容,但可以像这样完成类似的事情:

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

然后一个类似这样的JS函数:

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

更多信息可以在他们的演示网站上找到:http://demos.kendoui.com/web/button/events.html

【讨论】:

谢谢。这就是我的怀疑。再过 6 分钟,我才能将您的答案标记为正确答案。 那时,使用<a href="#" class="k-button"></a> 并这样做可能会更容易。

以上是关于单击 Kendo UI 按钮调用服务器端 MVC 操作的主要内容,如果未能解决你的问题,请参考以下文章

Kendo UI Grid添加新记录而不是将数据发布到服务器端

Kendo UI MVC Grid DataSourceRequest JavaScript 发布附加数据

弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口

单击用于 MVC 的 kendo ui 网格中的单元格时需要行索引和列标题

MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID

单击按钮即可设置 Kendo Ui 条形图系列