ASP.NET MVC 隐藏值的嵌套对象反射

问题描述 投票:0回答:0

我正在尝试找出为嵌套对象生成隐藏值的最佳方法,以便在没有任何硬编码的情况下发布到表单上。换句话说,一些部分视图只会接受一个模型并为层次结构的最低字段生成隐藏值。

这里有一个基本的例子来说明我想做什么:

public class SomeModel {

    public ClassA firstClass { get; set; } = null!;

}
public class ClassA {
    
    public ClassB secondClass { get; set;} = null!;

}
public class ClassB {

    public ClassC thirdClass { get; set; } = null!;

}

public class ClassC {

    public string? someText { get; set;}

}

我希望能够在提交表单时生成表示 ClassC 中的 someText 字段的隐藏值,以便模型绑定到 SomeModel 类,因此它应该看起来像这样:

<input type="hidden" name="firstClass.secondClass.thirdClass.someText" value="test" />

据我所知,某种反射/递归可能无需硬编码即可实现此类行为。理想情况下,该解决方案可以扩展到任意数量的嵌套对象和隐藏值。

谢谢

asp.net asp.net-mvc model-view-controller reflection model-binding
© www.soinside.com 2019 - 2024. All rights reserved.