c# - 使用 Html helper HiddenFor C# MVC 将模型添加到模型中

标签 c# html .net model-view-controller html-helper

我有一个像这样的模型

public class Model
{
    public int Value { get; set; }
    public List<OtherModel> List { get; set; }
}

public class OtherModel
{
    public int Value1 { get; set; }
    public int Value2 { get; set; }
    public bool IsPropTrue { get; set; }
}

我在 View 中使用 Model,在其中循环遍历 List 以在表格中显示数据。

根据 OtherModel 中的属性之一 (IsPropTrue) 是真还是假,我想使用 HiddenFor Html 帮助程序和将数据发送到 HttpPost Controller 。

@model Model                                       
@foreach (var item in Model.List)
{                                          
    if (item.IsPropTrue)
    {
        @Html.HiddenFor(model=> item.Value1)
        @Html.HiddenFor(model=> item.Value2) 
    } 
}                          

我认为它不起作用,因为我应该以某种方式将这些属性添加到 Model 中的 OtherModel;但我现在拥有它的方式是向 Model 添加属性。

最佳答案

你可以这样做:

@model Model                                       
@foreach (var item in Model.List)
{                                          
    if (item.IsPropTrue)
    {
        @Html.HiddenFor(model => model.List[Model.List.IndexOf(item)].Value1)
        @Html.HiddenFor(model => model.List[Model.List.IndexOf(item)].Value2)
    } 
} 

这样绑定(bind)系统会将隐藏字段与模型中的 List OtherModel 绑定(bind)

关于c# - 使用 Html helper HiddenFor C# MVC 将模型添加到模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53046162/

相关文章:

.net - DataContractSerializer : Deserialized object with reference id 'xyz' not found in stream. 如何恢复数据?

c# - 如何在本地机器上测试azure工作角色?

c# - ASP.NET Core DI 容器是否保证服务顺序?

c# - Azure 注销异步

javascript - 如何使用 jquery 获取所有元素的父元素?

c# - 如何同时部署两个 ClickOnce 版本?

c# - 有人可以解释这个异常(exception)的含义吗?连接字符串、表名、查询语法正确

javascript - 阻止文本过度运行它的容器

javascript - 将表单数据发送到 HTML 页面并使用 Javascript 检索它而无需任何 PHP/Python

c# - 适用于 Windows 7 Phone 的 Wintellect PowerCollections?