C# 在ASP.NET中使用jQuery序列化
ASP.NET中API的用途是什么? 我们如何使用它? 是否可以将序列化对象转换为.NET强类型对象? 或者将序列化对象映射到.NET等效对象? 例如,“成员”表中有两个字段。 姓名,年龄。 所以我们在成员实体中有这些属性C# 在ASP.NET中使用jQuery序列化,c#,jquery,asp.net,serialization,C#,Jquery,Asp.net,Serialization,ASP.NET中API的用途是什么? 我们如何使用它? 是否可以将序列化对象转换为.NET强类型对象? 或者将序列化对象映射到.NET等效对象? 例如,“成员”表中有两个字段。 姓名,年龄。 所以我们在成员实体中有这些属性 public string Name { get; set; } public string Age { get; set; } 我们在表示层中有以下代码: <asp:TextBox ID="txtName" runat="server">
public string Name { get; set; }
public string Age { get; set; }
我们在表示层中有以下代码:
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
<asp:Button ID="btnSave" runat="server" Text="Button" />
序列化对象如下所示:
这是字符串还是JSON对象?我想是绳子。
现在,这种序列化输出对我们有什么好处?
我知道我们能够使用jQueryAjax将此输出传递到服务器。但是我们如何在服务器端使用它呢
正如文档所解释的,该方法被传递一个表单DOM元素,并将其转换为URL编码的键/值对字符串,您可以将其传递给服务器。但是,如果您想在ASP.NET中处理强类型对象,可以查看以下内容。例如,假设已定义以下类型:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
然后,您可以有一个页面方法:
public partial class _Default : Page
{
[WebMethod]
public static string Process(Person person)
{
// TODO: do some processing
return DateTime.Now.ToString();
}
...
}
要使用jQuery和JSON请求调用此方法:
$.ajax({
type: 'POST',
url: 'Default.aspx/Process',
data: JSON.stringify({
name: 'foo', // you could fetch those values dynamically
age: 25
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(msg) {
// msg.d will contain the object returned from the server
// in our example it's a simple string but you could use any
// complex type you like (well almost any, it must be JSON serializable)
alert(msg.d);
}
});
如果我的问题不清楚或需要更多信息,请通知我。谢谢。它是如此有用。您评论了“//您可以动态获取这些值”,请您详细描述一下好吗?@shaahin,我的意思是您可以将这些参数绑定到表单中的输入字段。例如:
name:$('.name').val()
。在本例中,我使用类选择器作为ASP.NET管理输入元素的名称和ID。
public partial class _Default : Page
{
[WebMethod]
public static string Process(Person person)
{
// TODO: do some processing
return DateTime.Now.ToString();
}
...
}
$.ajax({
type: 'POST',
url: 'Default.aspx/Process',
data: JSON.stringify({
name: 'foo', // you could fetch those values dynamically
age: 25
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(msg) {
// msg.d will contain the object returned from the server
// in our example it's a simple string but you could use any
// complex type you like (well almost any, it must be JSON serializable)
alert(msg.d);
}
});