Jquery/ajax 从类中获取对象,并在我视图中的文本框中使用它
本文关键字:文本 视图 ajax 获取 取对象 Jquery | 更新日期: 2023-09-27 18:31:14
我正在开发一个 asp.net mv3应用程序。
在帮助程序类中,我有一个基于某人的ID返回其对象的方法
public Person GetPersonByID(string id)
{
// I get the person from a list with the given ID and return it
}
在视图中,我需要创建一个可以调用GetPersonByID
的jquery或javascript函数
function getPerson(id) {
//I need to get the person object by calling the GetPersonByID from the C#
//helper class and put the values Person.FirstName and Person.LastName in
//Textboxes on my page
}
我该怎么做?
这可以通过使用和 ajax 调用来完成吗?
$.ajax({
type:
url:
success:
}
});
任何帮助都非常感谢
谢谢
Javascript或jQuery不知道
method
是什么意思。 jQuery不知道C#是什么。 jQuery不知道MVC是什么 ASP.NET。 jQuery不知道Person
.NET类是什么意思。 jQuery不知道.NET类是什么意思。
jQuery是一个javascript框架,它(以及其他许多东西)可用于将AJAX请求发送到服务器端脚本。
在 MVC ASP.NET 中,这些服务器端脚本称为控制器操作。在Java中,这些被称为servlet。在 PHP 中 - PHP 脚本。等等...
因此,您可以编写一个可以使用 AJAX 查询的控制器操作,该操作将返回 Person
类的 JSON 序列化实例:
public ActionResult Foo(string id)
{
var person = Something.GetPersonByID(id);
return Json(person, JsonRequestBehavior.AllowGet);
}
然后:
function getPerson(id) {
$.ajax({
url: '@Url.Action("Foo", "SomeController")',
type: 'GET',
// we set cache: false because GET requests are often cached by browsers
// IE is particularly aggressive in that respect
cache: false,
data: { id: id },
success: function(person) {
$('#FirstName').val(person.FirstName);
$('#LastName').val(person.LastName);
}
});
}
这显然假定 Person 类具有 FirstName
和LastName
属性:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
当然可以! 在服务器端代码(特别是在控制器中)中,您需要做的就是返回序列化为 JSON 对象的 Person,如下所示:
[维基邮报]public ActionResult GetPersonByID(string id){ 返回 Json(人);}
然后在你的 AJAX 中,
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(),
error: function (xhr, status, error) {
//...
},
success: function (result) {
// result.FirstName
}
});