gpt4 book ai didi

c# - 为大模型设置/绑定(bind) HtmlHelper.CheckBoxFor 的更快/更简单/有效的方法

转载 作者:太空狗 更新时间:2023-10-30 01:29:03 24 4
gpt4 key购买 nike

基本上,我有一个类,其中有许多我想绑定(bind)到 View 的属性。一次一次打字非常痛苦且难以维护,所以想知道是否有更简单的方法。

当前模型:

public class test
{
public bool a { get; set; }
public bool b { get; set; }
public bool c { get; set; }
.
.
.
public bool x { get; set; }
public bool y { get; set; }
public bool z { get; set; }

}

当前 Controller :

public ActionResult checkbox()
{
var viewModel = new test();
return View(viewModel);

}

当前 View :

@model Test.Program.test

@Html.CheckBoxFor(m => m.a)
@Html.LabelFor(m => m.a)

@Html.CheckBoxFor(m => m.b)
@Html.LabelFor(m => m.b)

@Html.CheckBoxFor(m => m.c)
@Html.LabelFor(m => m.c)
.
.
.
@Html.CheckBoxFor(m => m.x)
@Html.LabelFor(m => m.x)

@Html.CheckBoxFor(m => m.y)
@Html.LabelFor(m => m.y)

@Html.CheckBoxFor(m => m.z)
@Html.LabelFor(m => m.z)

View 部分是让我感到恐惧的部分。

编辑:变量名仅供引用。

编辑2:最终,我根据 Soufiane Tahiri 的回答想出了一些愚蠢的 hacky 方法。

@foreach (var prop in test.GetType().GetProperties())
{
//here by adding the model in front will cause the model to bind with the response
@Html.CheckBox("test." + prop.Name)
@Html.Label(prop.Name)
}

最佳答案

您可以使用反射并循环遍历您的模型属性:

    @foreach (PropertyInfo prop in Model.GetType().GetProperties())
{
@Html.CheckBox(prop.Name)
@Html.Label(prop.Name)
}

工作片段:https://dotnetfiddle.net/4hiOZr

关于c# - 为大模型设置/绑定(bind) HtmlHelper.CheckBoxFor 的更快/更简单/有效的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54763004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com