Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DisplayForTemplate MVC中的编辑器ForTemplate_C#_Asp.net Mvc - Fatal编程技术网

C# DisplayForTemplate MVC中的编辑器ForTemplate

C# DisplayForTemplate MVC中的编辑器ForTemplate,c#,asp.net-mvc,C#,Asp.net Mvc,我试图使用Html显示模板来循环模型数据。在我的显示模板中,我想使用一个EditorFor模板来显示一组不同的数据,在这样做的过程中,我遇到了我的子模型为空的问题。在四处玩耍并得到大卫的指导后,我能够使这一切顺利进行。下面,请找到我更新的工作解决方案 更新(正确的解决方案) 公共类TargetingAreaViewModel { 公共int DealerId{get;set;} 公共int-OrderId{get;set;} 公共列表TargetingAreaOrderItems{get;set

我试图使用Html显示模板来循环模型数据。在我的显示模板中,我想使用一个EditorFor模板来显示一组不同的数据,在这样做的过程中,我遇到了我的子模型为空的问题。在四处玩耍并得到大卫的指导后,我能够使这一切顺利进行。下面,请找到我更新的工作解决方案

更新(正确的解决方案)

公共类TargetingAreaViewModel
{
公共int DealerId{get;set;}
公共int-OrderId{get;set;}
公共列表TargetingAreaOrderItems{get;set;}
public TargetingAreaViewModel()
{
this.TargetingAreaOrderItems=新列表();
}
}
公共类TargetingAreaOrderItemViewModel
{
公共整型OrderItemId{get;set;}
公共int-PackageMediaTypeId{get;set;}
公共字符串PackageMediaTypeHeader{get;set;}
公共字符串MediaTypeDesc{get;set;}
公共字符串targetingaditornInfo{get;set;}
公共列表TargetingAreaItems{get;set;}
public TargetingAreaOrderItemViewModel()
{
this.TargetingAreaItems=新列表();
}
}
公共类TargetingAreaItemViewModel
{
公共整型OrderItemId{get;set;}
公共int-PackageMediaTargetingFieldId{get;set;}
公共字符串TargetingAreaFieldTitle{get;set;}
公共字符串TargetingValue{get;set;}
公共布尔值已启用{get;set;}
需要公共布尔值{get;set;}
公共字符串注释{get;set;}
}
父视图

@model Models.TargetingAreaViewModel
@{
ApplicationContext.Current.PageTitle = "Targeting Info";
Layout = "~/Views/Shared/MainLayout.cshtml";
}
@using (Html.BeginForm("OrderItemTargetingInfo", "Home", FormMethod.Post, new { @class = "form-horizontal" }))
{
@Html.DisplayFor(m => m.TargetingAreaOrderItems)
<div class="col-sm-12">
    <div class="pull-right">
        <input id="Submit" type="submit" value="Submit" class="btn btn-primary" />
    </div>
</div>
}
@model Models.TargetingAreaViewModel
@{
ApplicationContext.Current.PageTitle=“目标信息”;
Layout=“~/Views/Shared/MainLayout.cshtml”;
}
@使用(Html.BeginForm(“OrderItemTargetingInfo”,“Home”,FormMethod.Post,new{@class=“form horizontal”}))
{
@DisplayFor(m=>m.TargetingAreaOrderItems)
}
显示模板视图

@model Models.TargetingAreaOrderItemViewModel
<div class="row">
<div class="col-sm-12">
    <div class="col-sm-12 btn-primary" style="margin-bottom: 10px; margin-top: 10px;">
        @Html.Label(Model.MediaTypeDesc, new { @style = "font-weight: bold; padding-top: 10px; font-size: 18px;" })
        @Html.HiddenFor(m => m.OrderItemId)
    </div>
</div>
</div>
<div class="row">
<div class="col-md-12">
    @Html.Raw(Model.PackageMediaTypeHeader)
</div>
</div>
<br />
<div class="row">
<div class="col-sm-12">
    @Html.EditorFor(m => m.TargetingAreaItems)
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
    <div class="form-group">
        @Html.Label("Additional Info:", new { @class = "control-label col-md-2" })
        <div class="col-md-6">
            @Html.TextAreaFor(m => m.TargetingAdditonalInfo, new { @class = "form-control" })
        </div>
    </div>
</div>
</div>
@model Models.TargetingAreaOrderItemViewModel
@Label(Model.MediaTypeDesc,新{@style=“font-weight:bold;padding-top:10px;font-size:18px;”)
@Html.HiddenFor(m=>m.OrderItemId)
@Html.Raw(Model.PackageMediaTypeHeader)

@EditorFor(m=>m.TargetingAreaItems)
@Label(“附加信息:”,new{@class=“control Label col-md-2”}) @TextAreaFor(m=>m.targetingaditorninfo,新的{@class=“formcontrol”})

现在,我可以显示数据,在Post上从我的模型中获取数据。很好

在父视图中,您只传递模型的
TargetingAreaOrderItems
,但子视图需要
TargetingAreaViewModel
。相反,您应该传入整个模型:

@Html.DisplayFor(m => m)

你能给我们看更多你的代码吗?这里没有足够的代码来诊断问题。如果您需要更多信息,请告诉我。当我这样做时,我会在这里出错@Label(Model.MediaTypeDesc,new{@style=“font-weight:bold;padding-top:10px;font-size:18px;”})解决了这个问题。非常感谢大卫为我指引了正确的方向。我的模型搞砸了,所以在重新组织它之后,我能够实现我想要的。我将更新上面的解决方案。我会将你的帖子标记为答案,因为它帮助我做出了正确的举动。
@Html.DisplayFor(m => m)