[我意识到这可能看起来像是一个愚蠢的问题,但我迷失了。]
使用umbraco 4.9我有一个多语言网站,我在其中创建了一个事件处理程序,用于将内容节点复制到所有语言,因为它们是在后台创建的所有语言。我现在正尝试将其附加到自定义上下文菜单项(umbraco.interfaces.IAction),以便为创建者提供选择。
在上下文菜单项中,只能将javascript函数作为字符串调用。我不应该触摸umbraco代码本身,所以如何将值传递给Web服务?我在哪里包含参考文献?
这就是我现在所拥有的:
public string JsSource
{
get
{
return "function AddItem(){" +
"var multiLang = confirm('Create for all languages?');" +
//"$.ajax({" +
//"type: 'Post'," +
//"url: 'TryAgain.aspx/' + SendMultiVal" +
//"data: multiLang})" +
//"PageMethods.SendMulti(multiLang);}" +
string.Format("{0}.actionNew()", ClientTools.Scripts.GetAppActions)+"};";
}
}
提前致谢。
答案 0 :(得分:1)
所以你需要做的第一件事就是将boolean值存储在一个名为boolvalue的变量中,然后在获得值后调用callservice函数。例如:
CallService("POST", "YourServiceUrl",boolvalue,
function (data) {
alert("Service Call Success");
},
function (result) {
alert('Service call failed: ' + result.status + '' + result.statusText);
});
如果它返回一些数据,这将进行服务调用并从服务中获取数据。
CallService = function (method, serviceUrl, value, successHandler, errorHandler) {
$.ajax({
type: method,
url: serviceUrl,
contentType: "application/text; charset=utf-8",
dataType: "json",
data:JSON.stringify(value),
success: successHandler,
error: errorHandler
});
};
根据您从服务发送和接收的数据类型,修改dataType和dataType字段。 如果您需要更多信息,请查看此信息: http://api.jquery.com/jQuery.ajax/
请告诉我这是否适合您。