如何将自定义字段添加到Json结果-ASP.NET MVC

古诺拉尔普

我正在开发一个能够编辑注册用户信息的管理页面。当我从下拉列表中选择一个用户时,该用户的当前信息正在填充以编辑字段。我用Javascript和Json做到了。

到目前为止,这是我的JS代码:

$(document).ready(function () {

        $("#UserId").change(function () {

            if ($(this).val() != "" && $(this).val() != undefined && $(this).val() != null) {
                $.ajax({
                    type: "POST",
                    url: "/AdminController/GetUserData",
                    cache: false,
                    data: { userid: $(this).val() },
                    success: function (result) {                         
                        $("#EMailAdress").val(result.EMailAdress)
                        $("#UserName").val(result.UserName)
                    }

                });
            }

            else {
                $("#UserName").val("");
                $("#EMailAdress").val("");
            }

        });
    });

如您所见,我正在整理“ / AdminController / GetUserData”,并且在其中有以下代码:

[HttpPost]
    public JsonResult GetUserData()
    {
        int userid = Convert.ToInt32(Request.Form["userid"]);
        MyContext _db = new MyContext();
        var userObj = _db.Users.SingleOrDefault(p => p.UserId == userid);
        return Json(userObj);
    }

现在,我必须在同一页面中显示所选用户的当前角色。我可以在控制器中找到该角色数据。但是我找不到将其添加到我的JsonResult中的方法。我认为我可以触发另一个控制器方法,该方法通过另一个JS代码获取用户的角色数据,但我认为这不是一个好方法。

我是一个乞讨人,所以如果解决方案容易,请不要怪我...我希望我自己弄清楚。任何帮助,将不胜感激。

达林·迪米特罗夫(Darin Dimitrov)

您可以定义一个视图模型:

public class MyViewModel
{
    public User User { get; set; }
    public RoleData Role { get; set; }
}

您的控制器操作将填充:

[HttpPost]
public ActionResult GetUserData(int userId)
{
    MyContext _db = new MyContext();
    var userObj = _db.Users.SingleOrDefault(p => p.UserId == userId);
    var roleData = .....

    var model = new MyViewModel();
    model.User = userObj;
    model.Role = roleData;
    return Json(model);
}

请注意,控制器操作如何将userId作为参数,以避免您编写从请求中解析它的管道代码。默认模型联编程序已经解决了这一问题。

而你的AJAX成功回调里面,你可以访问视图模型的2个属性,我们定义(UserRole分别对应)。

success: function (result) {                         
    $("#EMailAdress").val(result.User.EMailAdress);
    $("#UserName").val(result.User.UserName);

    var roleData = result.Role;
    // do something here with the role data
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将自定义css文件添加到asp.net mvc中?

来自分类Dev

将自定义类添加到ASP.NET MVC 4中的单选按钮

来自分类Dev

用户登录后将自定义属性添加到ASP.NET MVC身份

来自分类Dev

是否有将自定义Javascript添加到ASP.NET MVC 5页面的正确方法?

来自分类Dev

使用组织帐户将自定义声明添加到ASP.NET MVC(多个租户)

来自分类Dev

在ASP.NET MVC 5中将自定义角色添加到Windows角色

来自分类Dev

如何将自定义方法添加到ASP.NET WebAPI控制器?

来自分类Dev

ASP.NET MVC中的自定义JSON结果

来自分类Dev

将自定义验证添加到ASP.NET Core的JWT令牌中?

来自分类Dev

将自定义api端点添加到ASP:Net Core模板

来自分类Dev

无法将自定义设置文件添加到Asp.Net Core 3.1 WebApi

来自分类Dev

将自定义列添加到ASP.NET Identity

来自分类Dev

将自定义标头添加到iframe asp.net

来自分类Dev

ASP.NET MVC:如何将嵌套属性添加到Modelstate?

来自分类Dev

ASP.Net MVC:如何将国家/地区代码添加到所有url

来自分类Dev

如何将CSS添加到我的项目asp.net mvc中?

来自分类Dev

将自定义脚本添加到asp.net主页时出现语法错误

来自分类Dev

如何在Asp.Net-MVC中添加自定义HTTP标头

来自分类Dev

如何在Asp.Net-MVC中添加自定义HTTP标头

来自分类Dev

ASP.NET MVC将实体添加到ICollection

来自分类Dev

将#id添加到ASP.NET MVC URL

来自分类Dev

ASP.NET MVC将实体添加到ICollection

来自分类Dev

ASP.NET MVC自定义视图路由

来自分类Dev

asp.net mvc自定义子路由

来自分类Dev

ASP.NET MVC 5自定义错误页面

来自分类Dev

带线程的ASP.NET MVC自定义验证

来自分类Dev

自定义路由ASP.NET MVC

来自分类Dev

ASP.NET Core MVC自定义站点变量

来自分类Dev

ASP.Net MVC Kendo网格的自定义分页

Related 相关文章

  1. 1

    如何将自定义css文件添加到asp.net mvc中?

  2. 2

    将自定义类添加到ASP.NET MVC 4中的单选按钮

  3. 3

    用户登录后将自定义属性添加到ASP.NET MVC身份

  4. 4

    是否有将自定义Javascript添加到ASP.NET MVC 5页面的正确方法?

  5. 5

    使用组织帐户将自定义声明添加到ASP.NET MVC(多个租户)

  6. 6

    在ASP.NET MVC 5中将自定义角色添加到Windows角色

  7. 7

    如何将自定义方法添加到ASP.NET WebAPI控制器?

  8. 8

    ASP.NET MVC中的自定义JSON结果

  9. 9

    将自定义验证添加到ASP.NET Core的JWT令牌中?

  10. 10

    将自定义api端点添加到ASP:Net Core模板

  11. 11

    无法将自定义设置文件添加到Asp.Net Core 3.1 WebApi

  12. 12

    将自定义列添加到ASP.NET Identity

  13. 13

    将自定义标头添加到iframe asp.net

  14. 14

    ASP.NET MVC:如何将嵌套属性添加到Modelstate?

  15. 15

    ASP.Net MVC:如何将国家/地区代码添加到所有url

  16. 16

    如何将CSS添加到我的项目asp.net mvc中?

  17. 17

    将自定义脚本添加到asp.net主页时出现语法错误

  18. 18

    如何在Asp.Net-MVC中添加自定义HTTP标头

  19. 19

    如何在Asp.Net-MVC中添加自定义HTTP标头

  20. 20

    ASP.NET MVC将实体添加到ICollection

  21. 21

    将#id添加到ASP.NET MVC URL

  22. 22

    ASP.NET MVC将实体添加到ICollection

  23. 23

    ASP.NET MVC自定义视图路由

  24. 24

    asp.net mvc自定义子路由

  25. 25

    ASP.NET MVC 5自定义错误页面

  26. 26

    带线程的ASP.NET MVC自定义验证

  27. 27

    自定义路由ASP.NET MVC

  28. 28

    ASP.NET Core MVC自定义站点变量

  29. 29

    ASP.Net MVC Kendo网格的自定义分页

热门标签

归档