Как мне использовать WebMethod с jQuery, который имеет параметры, отличные от строк? - PullRequest
1 голос
/ 06 июля 2011

У меня есть эта сторона клиента:

$(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 ]

3 голосов
/ 06 июля 2011

Я думаю, вы можете передать Guid в виде строки в ваш метод, и он должен конвертировать его. проверить это

2 голосов
/ 06 июля 2011

Вы можете иметь строго типизированные параметры. Если они в правильном формате, они будут неявно преобразованы в правильный тип при попадании в метод.

...