Как мне сделать простой пост Ajax с ScriptSharp 0.6 (от C # до Javascript)? - PullRequest
1 голос
/ 24 июня 2010

ScriptSharp 0.6 превращает C # в Javascript и выглядит довольно аккуратно. Однако у меня нет большого опыта работы с событиями в C #, и я застрял на том, как это сделать:

$.post("urlToPostTo", $("#testform").Serialize(),
   function(data){
     alert(data.name); // Something sent from the server
   }, "json");

Это простая запись формы JQuery, которая возвращает предупреждение с возвращаемым объектом JSON в качестве обратного вызова. Для ScriptSharp это настроено как:

public static XmlHttpRequest Post(string url, object data, AjaxCallback callback);

С AjaxCallback, определенным как:

public delegate void AjaxCallback(object data);

Кажется, я бы настроил что-то вроде этого:

JQuery.Post("urlToPostTo", JQuery.Select("#testform"), callbackhere);

Я в растерянности относительно того, как настроить и определить обратный вызов в C #, есть идеи?

1 Ответ

1 голос
/ 01 июля 2010

Ваш код будет выглядеть примерно так:

JQuery.Post("url", JQuery.Select("#testform").Serialize(),
    delegate(object data) {
        Script.Alert(Type.GetField(data, "name"));
    });

Обычно анонимный делегат в c # переводится в функцию, пригодную для использования в качестве обратного вызова. Вы также можете написать его как обычный метод и использовать делегата для этого метода.

Надеюсь, это поможет.

...