如何使用具有除字符串以外的参数的jQuery来使用WebMethod?

时间:2011-07-06 12:57:59

标签: jquery asp.net webmethod

我有这个客户端:

$(document).ready(function() {
    var $checkboxes = $('[type=checkbox]');
    $checkboxes.click(function() {

        $checkbox = $(this);

        $.ajax({
            type: "POST",
            url: "Page.aspx/Method",
            data: "{id:'" + $checkbox.attr("id") + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                alert('success!');
            },
            error: function(xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert('An error occurred that prevented your change being saved: ' + err.Message);
            }
        });
    });
 });

我有这个服务器端:

[WebMethod]
public static void Method(String id)
{
    Guid guidID = new Guid(classid));
    //...........
}

但我更喜欢强烈输入WebMethod签名:

[WebMethod]
public static void Method(Guid id)
{
    //...........
}

你能告诉你最好的方法吗?

2 个答案:

答案 0 :(得分:3)

我认为你可以将Guid作为字符串传递给你的方法,它应该转换它。 check this out

答案 1 :(得分:2)

您可以使用强类型参数。如果它们的格式正确,则在按下方法时会隐式转换为正确的类型。