如何生成一个自定义按钮,从 Kendo UI Grid MVC 中的 uid 提交单元格数据?
How to generate a custom button that submits cell data from its uid in Kendo UI Grid MVC?
我是 Kendo UI ASP.NET MVC 的新手,我想在网格上创建一个自定义的操作按钮,并在单击该按钮时检索一些数据基于每个独特的行。
这是我的网格代码
@(Html.Kendo()
.Grid<PromotionVM>()
.Name("PromotionsGrid")
.Columns(columns =>
{
columns.Bound(c => c.Merchant);
columns.Bound(c => c.Item);
columns.Bound(c => c.Image);
columns.Bound(c => c.DiscountRate);
columns.Command(command => command.Custom("Approve").Click("ApprovePromotion"))
.Title("Action");
})
.DataSource(source =>
{
source.Ajax()
.Model(model => model.Id(field => field.Id))
.Read(read => read.Action("GetPromotions", "Promotion"));
})
)
这里是 PromotionVM
:
[Required]
public Guid Id { get; set; }
public string Merchant { get; set; }
public string Branch { get; set; }
public string Item { get; set; }
public string Image { get; set; }
public decimal DiscountRate { get; set; }
这是我要调用的 javascript 函数来执行 ajax 请求
当我能够通过单击按钮从网格中获取 "Id" 列值时。
<script type="text/javascript">
function ApprovePromotion(e) {
}
</script>
请注意该函数是空的,因为我还不知道要在这里做什么。
如果可以请帮忙
提前致谢。
非常开放的问题,但作为一个例子:
<script type="text/javascript">
function ApprovePromotion(e) {
e.preventDefault();
// grab data for row
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
// make ajax call
$.ajax({
url: '@Url.Action("MyAction", "MyController")',
type: "POST",
data: {
// pass data to controller parameters
ItemID: dataItem.Id,
OtherField: dataItem.OtherField
},
success: function (response) {
// On success do something. I'll switch to index
window.location.href = '@Url.Action("Index", "MyController")';
}
});
}
</script>
我是 Kendo UI ASP.NET MVC 的新手,我想在网格上创建一个自定义的操作按钮,并在单击该按钮时检索一些数据基于每个独特的行。
这是我的网格代码
@(Html.Kendo()
.Grid<PromotionVM>()
.Name("PromotionsGrid")
.Columns(columns =>
{
columns.Bound(c => c.Merchant);
columns.Bound(c => c.Item);
columns.Bound(c => c.Image);
columns.Bound(c => c.DiscountRate);
columns.Command(command => command.Custom("Approve").Click("ApprovePromotion"))
.Title("Action");
})
.DataSource(source =>
{
source.Ajax()
.Model(model => model.Id(field => field.Id))
.Read(read => read.Action("GetPromotions", "Promotion"));
})
)
这里是 PromotionVM
:
[Required]
public Guid Id { get; set; }
public string Merchant { get; set; }
public string Branch { get; set; }
public string Item { get; set; }
public string Image { get; set; }
public decimal DiscountRate { get; set; }
这是我要调用的 javascript 函数来执行 ajax 请求 当我能够通过单击按钮从网格中获取 "Id" 列值时。
<script type="text/javascript">
function ApprovePromotion(e) {
}
</script>
请注意该函数是空的,因为我还不知道要在这里做什么。
如果可以请帮忙
提前致谢。
非常开放的问题,但作为一个例子:
<script type="text/javascript">
function ApprovePromotion(e) {
e.preventDefault();
// grab data for row
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
// make ajax call
$.ajax({
url: '@Url.Action("MyAction", "MyController")',
type: "POST",
data: {
// pass data to controller parameters
ItemID: dataItem.Id,
OtherField: dataItem.OtherField
},
success: function (response) {
// On success do something. I'll switch to index
window.location.href = '@Url.Action("Index", "MyController")';
}
});
}
</script>