我有一个带有两个按钮的模态/对话框,“确定”和取消。当我点击“确定”时,我想将这些数据发送到服务器上的某个功能。我怎么能做到这一点?谁能给我一些信息/例子?我相信我必须使用“$ .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
答案 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)