1

以下に作成するJQueryUIボタンがあります。ある種のイベントディレクターを追加して、ボタンをクリックすると、vb.net関数の1つが.aspx.vbファイルで呼び出されるようにする方法はありますか?

ありがとう

$("#editor-form").dialog({
            autoOpen: false,
            height: 400,
            width: 650,
            modal: true,
            buttons: {
                "Add Editor": function () {
                 //fire serverside event??

これを追加しようとしましたが、機能しません...エラーはなく、機能しません。

                   $.ajax({
                        type: "POST",
                        url: "CreateTest.aspx/btnAddEditors_Click",
                        //data: "{subject:'" + subject + "',message:'" + message + ",messageId:'" + messageId + "',pupilId:'" + pupilId + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (msg) {
                            // Do something interesting here.
                        }
4

1 に答える 1

2

次の例では、ダイアログボックスがあり、ダイアログボックス内に、更新ページと呼ばれるボタンがあります。このボタンをクリックすると、POSTを介してサーバー上でメソッドが実行されます。

投稿例

    var runDates = "Pages/Mobile/Login.aspx/LoginUser";

    function initDailog() {

        RunDialog = $("#runDatestreeview").dialog({ closeOnEscape: true, stack: false, autoOpen: true,
            modal: false, resizable: true, draggable: true, title: 'Select Run Dates to Auto-Populate Form Fields & Test Exceptions:',
            width: 600, height: 500, position: 'center',
            open: function (type, data) {
                originalContent = $("#treeview").html();
            },
            buttons: { UpdatePage: function () {
                $.post(runDatesUrl,
//the following line sends my entire form or you could send individual values to the server
              $("#form").serialize(),
               function (data) {
                   This is your success function
                   //In my case the server was sending updated data to re-fresh my form fields
                   //so I update my div with the new results/content
                    $("#main").html(data);
                              }, "html");
            },
                Cancel: function () {
                    $(this).dialog("close");
                  }
            }
        });
    }

.LOADの例

POSTの代わりに、空のdivに対して.LOADを実行することもできます。

$("#yourDivNameHere").load(UR, { ID: $("#ID").val(), ErrorCodes: errorTextArea });

編集

サーバー側のコードbehidnファイルに次のメソッドがあると仮定します。

 public static bool AddNewItem(string name, string surname, int age)
    {


      return true;      
    }

今投稿で:

buttons:
{
    "Add": function () {
        var name = $("#<%= txtName.ClientID  %>").val();
        var surname = $("#<%= txtSurname.ClientID %>").val();
        var age = $("#<%= txtAge.ClientID %>").val();

        $.ajax({
            type: 'POST',
            url: 'MyWebPage.aspx/AddNewItem',
            data: '{"name":"' + name + '", "surname":"' + surname + '", "age":' + age + '}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                if (msg.d) {
                    alert("Successfully added new item");                                    
                }
            },
            error: function () {
                alert("Error! Try again...");
            }
        });
    },
    "Cancel": function () {
        $(this).dialog("close");
    }
}
于 2013-01-14T21:34:40.010 に答える