ASP.NETRazor页面中如何更新复杂对象的相关集合?
创始人
2024-11-12 06:30:17
0

假设我们有一个Person对象,包含了名字和工作经历。工作经历又由多个Job对象组成。我们想要在Razor页面中更新Job集合时,需要进行如下操作。

  1. 在Razor页面中定义表单,用于编辑Job集合。
@for (var i = 0; i < Model.Person.WorkHistory.Jobs.Count(); i++) { }
  1. 在Razor页面对应的PageModel中定义一个OnPost方法,该方法接收提交的表单数据并更新Job集合。
public IActionResult OnPost()
{
    //获取表单提交的Job数据
    var jobs = Request.Form["person.workhistory.jobs"];

    //将json格式的数据转换成Job对象集合
    var serializerOptions = new JsonSerializerOptions
    {
        PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
    };
    var newJobs = JsonSerializer.Deserialize>(jobs, serializerOptions);

    //更新Job集合
    for (var i = 0; i < newJobs.Count; i++)
    {
        Model.Person.WorkHistory.Jobs[i].CompanyName = newJobs[i].CompanyName;
        Model.Person.WorkHistory.Jobs[i].Title = newJobs[i].Title;
        Model.Person.WorkHistory.Jobs[i].StartDate = newJobs[i].StartDate;
        Model.Person.WorkHistory.Jobs[i].EndDate = newJobs[i].EndDate;
    }

    return Page();
}

在OnPost方法中,我们首先获取表单提交的数据,并将其序列化为Job对象集合。然后,我们逐个更新Person对象中的Job集合。最后,我们返回当前页面。

需要注意的是,在表

相关内容

热门资讯

透视演示!uupoker透视(... 透视演示!uupoker透视(透视)pokemmo手机脚本(辅助)好像真的是有工具(哔哩哔哩)小薇(...
透视要领!pokemmo辅助工... 透视要领!pokemmo辅助工具(透视)德州真人透视脚本(辅助)总是是真的有神器(哔哩哔哩)1、德州...
据相关数据显示!cloudpo... 据相关数据显示!cloudpoker外开挂(透视)天天海南家园辅助(都是真的是有辅助插件)-哔哩哔哩...
透视好友房!wepoker亲友... 您好,江湖悠悠辅助脚本这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
透视练习!德州局透视脚本(透视... 透视练习!德州局透视脚本(透视)哈糖大菠萝怎么挂(辅助)都是真的有教程(哔哩哔哩)哈糖大菠萝怎么挂是...
今天下午!hhpoker为什么... 今天下午!hhpoker为什么一直输(透视)新挑战辅助脚本(一贯是有辅助app)-哔哩哔哩1、用户打...
透视积累!佛手在线是不是有挂(... 透视积累!佛手在线是不是有挂(透视)哈糖大菠萝怎么挂(辅助)竟然真的有软件(哔哩哔哩)佛手在线是不是...
出乎意料的是!wepokerp... 出乎意料的是!wepokerplus作必弊(透视)牛总管辅助神器(真是真的是有辅助神器)-哔哩哔哩所...
透视教程书!佛手在线大菠萝为什... 您好,佛手在线大菠萝为什么都输这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...
透视了解!wepoker作必弊... 透视了解!wepoker作必弊方法(透视)新道游app辅助器(其实真的有辅助辅助器)-哔哩哔哩1)新...