gpt4 book ai didi

javascript - 如何使用 Kendo.Button() 的事件方法将模型的属性发送到 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-30 20:16:39 25 4
gpt4 key购买 nike

我有一个调用 Javascript 函数的 Kendo.Button()。该函数对 Controller 进行 Ajax 调用,并将模型的属性发送到 Controller 的方法:

这是一个按钮:

@(Html.Kendo().Button()
.Name("btnSubmit")
.HtmlAttributes(new { type = "button" })
.Content("Submit")
.Events(e => e.Click("DisplayData"))

)

这是我的 JavaScript 函数:

function DisplayData() {

$('#win_wnd_title').text('My Title');

var id = '@Html.Raw(Model.ID)';
var amount = '@Html.Raw(Model.Amount)';
var desc = '@Html.Raw(Model.Description)';

$.ajax(
{
url: "/MyController/MyMethod/",
type: 'post',
dataType: "html",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ ID: id, Amount: amount, Desc: desc }),
success: function (result) {
var dialog = $("#win").data("kendoWindow");
$("#dataWin").html(result);
dialog.open();
}
})
}

我有几个页面具有创建 Kendo.Button() 和调用 javascript 的类似功能。

在一种情况下,我需要向函数发送一些参数,而在另一种情况下则不需要。

我想要做的是在 Site.js 文件中定义一个单一的 javascript 函数,而不是在不同的页面上多次创建它。

因此,有些页面会有一个向函数发送参数的按钮,有些页面则没有。

如果有办法做到这一点,我如何使用 Events 属性调用 Kendo.Button() 定义中的函数并在我的 中使用它>Site.js 文件?

最佳答案

经过一番研究,我找到了解决方案:

要在使用 Kendo.Button() 时将参数传递给 JavaScript 函数,我们可以按以下方式使用按钮的 HtmlAttribute 属性:

@(Html.Kendo().Button()
.Name("btnButton")
.HtmlAttributes(new { type = "button", param1= "MyParam1", param2 = "MyParam2")
.Icon("k-icon k-i-file-txt")
.Content("View Details")
.Events(e => e.Click("JavaScriptFunction"))

)

在这里,我将标题和 url 作为参数传递给 JavaScriptFunction。

在函数中,为了获取参数的值,使用以下逻辑:

var param1 = this.element.attr("param1");

这将解决这个问题。

希望对大家有帮助

关于javascript - 如何使用 Kendo.Button() 的事件方法将模型的属性发送到 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51859705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com