如何使用Angulla JavaScript设置Tridion ApplicationData?

如何使用Angulla JavaScript设置Tridion ApplicationData?,tridion,Tridion,我有一个带有表单和文本字段的TabGUI扩展。我想将表单字段的值保存到ApplicationData。我想用一个“更新”按钮调用Anguilla方法 有没有安圭拉的方法可以做到这一点?我在安圭拉看不到任何方法可以做到这一点。代码的开头: var c = $display.getItem(); var uri = c.getId(); Angulla不公开任何(webservice或JavaScript)方法来通用地修改ApplicationData。您必须提供自己的服务器端代码来设置Appli

我有一个带有表单和文本字段的TabGUI扩展。我想将表单字段的值保存到ApplicationData。我想用一个“更新”按钮调用Anguilla方法

有没有安圭拉的方法可以做到这一点?我在安圭拉看不到任何方法可以做到这一点。代码的开头:

var c = $display.getItem();
var uri = c.getId();

Angulla不公开任何(webservice或JavaScript)方法来通用地修改ApplicationData。您必须提供自己的服务器端代码来设置ApplicationData

因此,在我上一次的需求中,我编写了一个简单的WCF web服务,用于设置应用程序数据:

[服务行为(InstanceContextMode=InstanceContextMode.Single,ConcurrencyMode=ConcurrencyMode.Multiple)]
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Required)]
[ServiceContract(Namespace=“ExtensionsModel.Services”)]
公共类扩展服务
{
[经营合同]
[WebInvoke(Method=“POST”,
RequestFormat=WebMessageFormat.Json,
ResponseFormat=WebMessageFormat.Json)]
public void SetEnabled(字符串[]itemIDs,bool enabled)
{
使用(var client=TridionCoreService.GetSessionAwareClient())
{
var appdata=new ApplicationData();
appdata.ApplicationId=“ext:IsEnabled”;
appdata.Data=new ascienceoding().GetBytes(已启用?bool.TrueString:bool.false字符串);
foreach(itemIDs中的var itemID)
{
client.SaveApplicationData(itemID,new[]{appdata});
}
}
}
}
将其连接到我的型号的配置文件中:


服务/扩展服务.svc
...
然后从我的
命令调用此web方法。\u执行

Extensions.Commands.DisableExtension.prototype.\u execute=function(选择){
ExtensionsModel.Services.ExtensionsService.SetEnabled(selection.getItems(),false);
};

很好的例子!我真的很喜欢使用模型的干净方法——这是困扰我的事情,现在已经很清楚了。谢谢问:cfg:service-type属性还可能有哪些其他值?我没有任何线索,探索XSD并不能帮助我阐明这一点。但我要说实话:我怀疑这是为了与WCF服务以外的任何东西一起工作。