我想要将一个类从控制器返回到角
$scope.GetUser = function (user_id) {
$.ajax({
type: "POST",
url: "Menu/GetUser",
data: '{"user_id":"' + user_id + '"}',
contentType: "application/json; charset=utf-8",
success: function (resp) {
debugger
},
failure: function (resp) {
alert(resp);
}
});
}
我的控制器
[HttpPost]
//public JsonResult GetUser(string user_id)
public User GetUser(string user_id)
{
return rep.GetUser(user_id);
//return Json(new
//{
// user = rep.GetUser(user_id)
//}, JsonRequestBehavior.AllowGet);
}
我的模型
public User GetUser(string user_id)
{
var user = ctx.tblUsuario.
Where(x => x.usuario_id.Trim() == user_id).FirstOrDefault();
if (user == null)
return null;
return new User(user.usuario_id, user.usuario_nome, user.usuario_perfilid, user.usuario_dtcadastro, user.usuario_senha);
}
我的课
namespace DB_Pro.Models
{
public class User
{
private string Usuario_id { get; set; }
private string Usuario_nome { get; set; }
private int Usuario_perfilid { get; set; }
private DateTime Usuario_dtcadastro { get; set; }
private string Usuario_senha { get; set; }
public User(string usuario_id, string usuario_nome, int usuario_perfilid, DateTime usuario_dtcadastro, string usuario_senha)
{
Usuario_id = usuario_id;
Usuario_nome = usuario_nome;
Usuario_perfilid = usuario_perfilid;
Usuario_dtcadastro = usuario_dtcadastro;
Usuario_senha = usuario_senha;
}
}
}
但当我回到成功 Ajax 功能,它只是有反应等于"DB_Pro.Models.User"
我到底做错了?
你为什么不在你的控制器中创建一个 json 和寄给角控制器吗?。应该真的工作和我看到你有 json 创作评论在控制器中。
这个想法是角使用 javascript 对象,如果您从控制器发送,您应该能够轻松地访问其内容。
而不是将用户放置到 json,在得到它的参数,
名称︰ u.NAME,姓︰ u.SURNAME,...
和从角室直接访问它们。如果您创建了一个 json 与用户,角不会知道哪些用户是,这就是为什么你得到这种反应。让用户,与用户,以这种方式,当角接收到的数据,你只需要采取然后你需要从数据的信息的参数对象的 json:
data.name data.surname
编辑︰
经过研究,我认为这可以工作︰
[HttpPost]
//public JsonResult GetUser(string user_id)
public User GetUser(string user_id)
{
User u = rep.GetUser(user_id);
var result = Json(new { Usuario_nome = u.Usuario_nome,
Usuario_perfilid = u.Usuario_perfilid});
return result;
}
试一试,告诉我它是否能解决问题