从javascript向c#web服务发送简单的bool值

时间:2012-11-14 15:24:43

标签: c# asp.net web-services umbraco

[我意识到这可能看起来像是一个愚蠢的问题,但我迷失了。]

使用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)+"};"; 
     }
}

提前致谢。

1 个答案:

答案 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/

请告诉我这是否适合您。