0

我不确定我为什么会出现这种行为,如果有人能指出我正确的来源,我很高兴,因为我不确定谷歌需要什么。

查看模型

public class GeneralDay
{
    public byte tintWeekDay { get; set; }
    public string nvarDayName { get; set; }
    public bool Assigned { get; set; }
}

控制器

    [ChildActionOnly]
    public PartialViewResult TargetDay(MODELS.ViewModels.Promotion promotion) {

        var daylist = gd.GeneralDayList();
        foreach (var day in daylist)
        { 
            promotion.targetDay.Add(new MODELS.ViewModels.GeneralDay
            {
                Assigned = promotion.targetDay.FirstOrDefault(x => x.tintWeekDay == day.tintWeekDay) != null,
                nvarDayName = day.nvarDayName,
                tintWeekDay = day.tintWeekDay
            });
        }

        ModelState.Clear();
        return PartialView(promotion);
    }

看法

@model GeneralDay
@using XXX.ViewModels;

<fieldset>

 
 //First Part 
@(Model.tintWeekDay)
@(Model.nvarDayName)
@(Model.Assigned)

//Second Part
@Html.LabelFor(model => model.tintWeekDay)    
@Html.LabelFor(model => model.nvarDayName)    
@Html.LabelFor(model => model.Assigned) 

</fieldset>

以上显示了这些结果,为什么不同的结果?

第一部分

1 周日假

第二部分

tintWeekDay

nvarDayName

已分配

4

2 回答 2

1

那么以下打印值..

//First Part 
@(Model.tintWeekDay)
@(Model.nvarDayName)
@(Model.Assigned)

以下是创建标签

//Second Part
@Html.LabelFor(model => model.tintWeekDay)    
@Html.LabelFor(model => model.nvarDayName)    
@Html.LabelFor(model => model.Assigned) 

由于您没有使用DisplayAttribute,因此LabelFor 只是打印变量名称。

也许你想使用:

//Second Part
@Html.DisplayFor(model => model.tintWeekDay)    
@Html.DisplayFor(model => model.nvarDayName)    
@Html.DisplayFor(model => model.Assigned) 
于 2013-07-22T06:08:31.950 回答
0

因为在第一部分你渲染了模型属性的值。

@(Model.tintWeekDay) 将 1 渲染到输出。

但是 @Html.LabelFor(model => model.tintWeekDay) 呈现该字段的(不存在的)标签,而不是值)

使用 DisplayAttribute 更改模型中的字段标签。

例子:

public class GeneralDay
{
    [Display(Description = "Day of week")]
    public byte tintWeekDay { get; set; }
    public string nvarDayName { get; set; }
    public bool Assigned { get; set; }
}
于 2013-07-22T06:09:00.970 回答