C# asp.net mvc 5获取传递到视图中的变量名称
我试图获取传递到局部视图的模型的变量名,但无法解决这个问题。在MetricsTotal局部视图中,如何获取“nameOfVariable” 指标模型C# asp.net mvc 5获取传递到视图中的变量名称,c#,asp.net,asp.net-mvc,razor,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Razor,Asp.net Mvc 5,我试图获取传递到局部视图的模型的变量名,但无法解决这个问题。在MetricsTotal局部视图中,如何获取“nameOfVariable” 指标模型 public class MetricsModel { public IEnumerable<MetricsDetail> metricsDetail { get; set; } public IEnumerable<AttyList> attyList { get; set; } public IE
public class MetricsModel
{
public IEnumerable<MetricsDetail> metricsDetail { get; set; }
public IEnumerable<AttyList> attyList { get; set; }
public IEnumerable<MatterDataModel> matterdata { get; set; }
}
视图1
@{
@model MVC5.Models.MetricsModel
List<MVC5.Models.MetricsDetail> fooTotal = new List<MVC5.Models.MetricsDetail>();
List<MVC5.Models.MetricsDetail> barTotal = new List<MVC5.Models.MetricsDetail>();
}
@foreach (var item in Model.metricsDetail){
//Logic to add some items to fooTotal and barTotal
if (Request.Form["queryType"] != "foo")
{
@Html.Partial("_MetricsTotal", fooTotal)
}
else{
@Html.Partial("_MetricsTotal", barTotal)
}
}
@{
@型号MVC5.Models.MetricsModel
List fooTotal=新列表();
List barTotal=新列表();
}
@foreach(Model.metricsDetail中的var项){
//将某些项目添加到FootTotal和barTotal的逻辑
if(Request.Form[“queryType”]!=“foo”)
{
@Html.Partial(“\u MetricsTotal”,footottal)
}
否则{
@Html.Partial(“_MetricsTotal”,barTotal)
}
}
\u公制整体局部视图
@model IEnumerable<MVC5.Models.MetricsDetail>
<p @{if(nameOfVariable=="fooTotal"){ <text>id = "fooTotalVariable"</text>}} Model.Sum(itemData => itemData.totalHours))
@model IEnumerable
itemData.totalHours))
如果你想要那个标签,你也需要把它传进来
@model MyViewModel
<div>@Model.Name</div><div>@Model.Data.Sum(m => m.totalHours)</div>
如果你想要那个标签,你也需要把它传进去
@model MyViewModel
<div>@Model.Name</div><div>@Model.Data.Sum(m => m.totalHours)</div>
C#6操作员姓名=>
范例
@Html.Partial("_MetricsTotal",new MyViewModel { Name = nameof(fooTotal), Data = fooTotal }
C#6操作员姓名=>
范例
@Html.Partial("_MetricsTotal",new MyViewModel { Name = nameof(fooTotal), Data = fooTotal }
让局部视图声明它自己的模型。@Jasen你能用一些代码详细说明一下吗?thanks@Jasen事实上,我已经声明了我需要的模型…很抱歉在原始帖子中遗漏了这一点…我编辑了我的代码您正在传递一个集合,因此您需要一个索引或foreach循环。变量的名称应该是什么?
MetricsDetail
?@Jasen nameOfVariable的属性应该是我传递到局部视图的“foottal”或“barTotal”。我不需要/不想使用foreach b/c,我正在使用Model.Sum(itemData=>itemData.totalHours))
来合计值。让局部视图声明它自己的模型。@Jasen你能用一些代码详细说明一下吗?thanks@Jasen事实上,我已经声明了我需要的模型…很抱歉在原始帖子中遗漏了这一点…我编辑了我的代码您正在传递一个集合,因此您需要一个索引或foreach循环。变量的名称应该是什么?MetricsDetail
?@Jasen nameOfVariable的属性应该是我传递到局部视图的“foottal”或“barTotal”。我不需要/不想使用foreach b/c,我正在使用Model.Sum(itemData=>itemData.totalHours))
对值进行合计。我建议使用nameof运算符而不是硬编码名称,将潜在的运行时异常移动到编译时检查。我建议使用nameof运算符而不是硬编码名称,将潜在的运行时异常移动到编译时检查。
@Html.Partial("_MetricsTotal",new MyViewModel { Name = nameof(fooTotal), Data = fooTotal }