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集合。最后,我们返回当前页面。

需要注意的是,在表

相关内容

热门资讯

黑科技美元局(wepoke确实... 黑科技美元局(wepoke确实有挂)外挂黑科技辅助app(透视)总是真的有挂(黑科技插件)一、wep...
黑科技游戏(wepoke透明挂... 黑科技游戏(wepoke透明挂在哪买)外挂透明挂辅助app(透视)真是有挂(黑科技脚本)1、让任何用...
黑科技新版(微扑克ai辅助神器... 黑科技新版(微扑克ai辅助神器)外挂透视辅助技巧(透视)果然有挂(黑科技详情)1、上手简单,内置详细...
黑科技科技(德州之星透牌器是真... 黑科技科技(德州之星透牌器是真的吗)外挂透视辅助软件(透视)一直是有挂(黑科技详情);1、打开软件启...
黑科技教程(Wepoke辅助器... 黑科技教程(Wepoke辅助器)外挂透视辅助软件(透视)切实有挂(黑科技解说)1、玩家可以在Wepo...
黑科技插件(微扑克辅助机器人)... 黑科技插件(微扑克辅助机器人)外挂黑科技辅助app(透视)其实存在有挂(黑科技细节)1、许多玩家不知...
黑科技科技(wpk辅助神器)外... 黑科技科技(wpk辅助神器)外挂黑科技辅助教程(透视)果然有挂(黑科技插件);亲,关键说明,wpk辅...
黑科技能赢(德扑之星系统发牌机... 黑科技能赢(德扑之星系统发牌机制)外挂透视辅助技巧(透视)切实是真的有挂(黑科技方法);1、全新机制...
黑科技科技(德州之星有外挂)外... 黑科技科技(德州之星有外挂)外挂透明挂辅助挂(透视)原来是真的有挂(黑科技攻略);1、德州之星有外挂...
黑科技软件(德州微扑克辅助)外... 黑科技软件(德州微扑克辅助)外挂透视辅助app(透视)一贯是真的有挂(黑科技细节)1、下载好德州微扑...