如何将数据发送到后面的代码中

时间:2011-06-07 18:23:58

标签: jquery asp.net vb.net

我有一个带有两个按钮的模态/对话框,“确定”和取消。当我点击“确定”时,我想将这些数据发送到服务器上的某个功能。我怎么能做到这一点?谁能给我一些信息/例子?我相信我必须使用“$ .post”但是又如何将它发送到特定页面的功能?

UPDATED ...仍然无法达到功能背后的代码。

$('#dialog').dialog({ 
                    modal: true,
                    //autoOpen: false,
                    bgiframe: false,
                    closeOnEscape: false,
                    width: 520,
                    height: 360,
                    open: function(event, ui) { 
                            jQuery('.ui-dialog-titlebar-close').hide();
                            $('#dialog').dialog('option', 'position', 'center'); },
                    buttons: [
                        {
                            text: "Cancel",
                            click: function() { $(this).dialog("close"); }
                        },
                        {
                            text: "Send",
                            click: function(){
                                $.ajax({
                                    type: 'POST',
                                    url: 'test.aspx/GetName',
                                    data: '{name:"' + name + '}',
                                    contentType: "application/json; charset=utf-8",
                                    dataType: "json",
                                    async: false
                                });
                            }
                        }],
                    draggable: false });
            return false;


<System.Web.Services.WebMethod()> _
Public Shared Function GetName(ByVal name As String) As String
    Return "Hello " & name & Environment.NewLine & "The Current Time is: " & _
             DateTime.Now.ToString()
End Function

3 个答案:

答案 0 :(得分:3)

你可以使用jQuery。我已经实现了这几次,它就像一个魅力。 您需要在代码隐藏中定义静态WebMethod,如下所示:

<强> C#

[WebMethod]
public static void SayHello( string name ) { 
   // say hello
} 

<强> VB.NET

<WebMethod()> _
Public Shared Function SayHello(name As String)
   ' say hello
End Function

现在你可以用jQuery调用它:

$.ajax({
   type: "POST",
   url: 'yourPage.aspx/SayHello',
   data: "{name: '" + aValue + "'}",
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   async: false,
   success : function(data) { 
       // in case you would use a return value in your webmethod
       alert( data.d ); 
   }
});

如您所见,您可以定义所需的任何页面,但它不一定是您当前的页面。只要它包含静态web方法,你就可以开始了!

答案 1 :(得分:0)

我想你可以使用WebMethod。查看此帖子:http://blog.dirtycoding.com/2010/07/using-jquery-to-net-methods/

答案 2 :(得分:0)