我正在使用ListControl,其中一个列有Delete链接,我使用HTMLTemplate进行格式化,如下所示:
<a href="javascript: app.showConfirmation()" >Delete</a>
我的Javascript看起来如下:
define(["sitecore", function (Sitecore) {
var DestinationRules = Sitecore.Definitions.App.extend({
initialized: function () {
this.processDestinationRules();
},
showConfirmation: function () {
alert('here');
},
});
return DestinationRules;
});
出于某种原因,我无法调用showConfirmation()。它说是未定义的。我甚至尝试过Sitecore.Speak.app.showconfirmation()但没有工作。
我尽力在线搜索,但无法通过嵌入在HTMLTemplate中的控件调用函数找到很多帮助。
我的下一步是拨打DialogWindow。
请你帮我解决上面的语法。提前谢谢。
答案 0 :(得分:0)
以不同的方式修复它。
我想在Listcontrol的每一行显示内联删除按钮。无法找到调用
的方法javascript: app.showConfirmation()
我改变了删除记录的方式:
截至目前,似乎是一种更好的方式。 Sitecore本身使用类似的方法来“开始”用户。可以在这里找到:
/sitecore/client/Applications/LicenseOptions/KickUser
希望有所帮助。感谢。
答案 1 :(得分:0)
最后,设法做到了这一点。总是知道它可以这样做,但不喜欢它的完成方式。
List控件中的Delete链接将打开一个确认对话窗口。如果用户选择“是”,则会调用app.onDeleteYes()
专栏的HtmlMarkup:
<a href="javascript:destinationRulePage.showDeleteDialog({{itemId}});">Delete</a>
添加了一个名为btnDelete
的按钮,visibility
设置为false
。
在App:
范围之外添加了以下功能var destinationRulePage = (function () {
var self = this;
self.showDeleteDialog = function (id) {
$("button[data-sc-id='btnYes']").attr("data-sc-click",
"javascript:app.onDeleteYes(" + id + ");");
$("button[data-sc-id='btnDelete']").click();
}
return self;
}())
这对我有用。感谢。