javascript - 如何通过单击 nopcommerce 4.3 中数据表 ColumnProperty 中的按钮来调用自定义链接
问题描述
我想通过单击nopcommerce 4.3中的按钮或任何 url 从数据表 ColumnProperty调用链接。
这是我的数据表代码,
@await Html.PartialAsync("Table", new DataTablesModel
{
Name = "customerjama-grid",
Length = Model.CustomerJamaSearchModel.PageSize,
LengthMenu = Model.CustomerJamaSearchModel.AvailablePageSizes,
ColumnCollection = new List<ColumnProperty>
{
new ColumnProperty(nameof(CustomerJamaModel.Date))
{
Title = T("Admin.Customer.Jama.Fields.Date").Text,
Width = "200"
},
new ColumnProperty(nameof(CustomerJamaModel.Id))
{
Title = T("Admin.Common.PDF").Text,
Width = "100",
ClassName = NopColumnClassDefaults.Button,
Render = new RenderCustom("CallController"),
}
}
})
现在,为此我正在使用datatable的RenderCustom属性,但问题是RenderCustom中的“CallController”在页面加载时调用javascript CallController函数。
但我的要求是,当我点击相关的链接时,他们的控制器/javascript url应该被触发。
解决方案
如果我理解正确,您可以在脚本中使用:
function CallController(data, type, row, meta)
{
return '<button onclick="javascript:window.location.href='+ yourlink + '
?id=' + data + '; return false;" class="btn btn-default">
<i class="fa fa-print"></i>@T("Admin.Common.PDF")</button>';
};
或者,如果您想使用自己的控制器和操作,请使用:
function CallController(data, type, row, meta)
{
return '<button onclick="javascript:window.location.href=
' + @Url.Action("yourAction", "yourController") + '?id=' + data + ';
return false;" class="btn btn-default">
<i class="fa fa-print"></i>@T("Admin.Common.PDF")</button>';
};
请检查 ' 和 "
推荐阅读
- kubernetes - 一段时间后,我的 kubernetes 集群无法工作
- php - 使用循环的html表格的行和列中的数字反射模式
- php - CakePHP 开发服务器
- wpf - 将 xaml/wpf 中的网格镜像到另一个 xaml/wpf
- perfect - PerfectSwift:快速包更新无休止地运行
- mysql - MySQL:UNION 加 JOIN
- reactjs - 使用 create-react-app 创建的 React 应用程序无法启动,返回错误
- excel - 在没有 Exit Sub 的情况下无法进入下一个
- python - 为什么在 django 中测试视图时会出现 404?
- excel - 比较不同工作表中的值(VBA/公式)