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

需要注意的是,在表

相关内容

热门资讯

外挂模板!红龙poker辅助平... 外挂模板!红龙poker辅助平台,哈糖大菠萝攻略-一贯真的有辅助插件(哔哩哔哩)1、许多玩家不知道红...
外挂手册!德普之星辅助器,德普... 外挂手册!德普之星辅助器,德普之星透视辅助软件是真的吗-切实存在有辅助教程(哔哩哔哩)1、玩家可以在...
外挂方针!pokerworld... 外挂方针!pokerworld软件,德普辅助软件-本来是真的有辅助app(哔哩哔哩)1、进入到pok...
外挂经验!约局吧德州透视,po... 外挂经验!约局吧德州透视,pokerrrr2辅助-果然是有辅助软件(哔哩哔哩)1、全新机制【约局吧德...
外挂积累!哈糖大菠萝辅助器,竞... 外挂积累!哈糖大菠萝辅助器,竞技联盟辅助-原来存在有辅助工具(哔哩哔哩)1、哈糖大菠萝辅助器有没有辅...
外挂指引!竞技联盟破解版最新版... 您好,聚星ai辅助工具收费多少这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
外挂绝活!德普之星透视辅助软件... 外挂绝活!德普之星透视辅助软件是真的吗,pokemmo脚本-一贯存在有辅助脚本(哔哩哔哩)1、pok...
外挂方式!约局吧辅助器,云扑克... 外挂方式!约局吧辅助器,云扑克有透视吗-真是是真的有辅助软件(哔哩哔哩)1)云扑克有透视吗有没有挂:...
外挂演示!佛手大菠萝13道挂哪... 外挂演示!佛手大菠萝13道挂哪里,德普之星有透视辅助吗-真是一直都是有辅助脚本(哔哩哔哩)佛手大菠萝...
外挂手筋!pokerworld... 外挂手筋!pokerworld修改器,pokerworld软件-果然一直总是有辅助方法(哔哩哔哩)1...