Asp.net mvc 4 MVC4,模型和模型渲染不同
我不知道为什么我会有这种行为,如果有人能给我指出正确的来源,我会很高兴,因为我不知道需要谷歌做什么 视图模型Asp.net mvc 4 MVC4,模型和模型渲染不同,asp.net-mvc-4,model,Asp.net Mvc 4,Model,我不知道为什么我会有这种行为,如果有人能给我指出正确的来源,我会很高兴,因为我不知道需要谷歌做什么 视图模型 public class GeneralDay { public byte tintWeekDay { get; set; } public string nvarDayName { get; set; } public bool Assigned { get; set; } } 控制器 [ChildActionOnly] public Part
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
@使用XXX.ViewModels;
//第一部分
@(型号:平日)
@(型号:nvarDayName)
@(已分配型号)
//第二部分
@LabelFor(model=>model.tintWeekDay)
@LabelFor(model=>model.nvarDayName)
@LabelFor(model=>model.Assigned)
上面显示这些结果,为什么不同的结果
第一部分
1星期日假
第二部分
平日
nvarDayName
指派
那么下面的打印值
//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)
因为您没有使用,所以LabelFor
只是打印变量名
也许你想用:
//Second Part
@Html.DisplayFor(model => model.tintWeekDay)
@Html.DisplayFor(model => model.nvarDayName)
@Html.DisplayFor(model => model.Assigned)
因为在第一部分中,您将渲染模型属性的值 @(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; }
}
对不起,我是mvc的新手。有点困惑。如果我想在第二种方法的基础上显示值,我该如何实现这一点?我喜欢显示一个复选框列表供用户检查。好的,找到了显示的方法,我应该这样做,还有比这个更好的方法吗@Html.HiddenFor(model=>model.tintWeekDay)@(model.nvarDayName)@Html.CheckBoxFor(model=>model.Assigned)@HtmlHiddenFor在呈现的Html中创建一个元素。你的问题不是很清楚你执行了什么。
public class GeneralDay
{
[Display(Description = "Day of week")]
public byte tintWeekDay { get; set; }
public string nvarDayName { get; set; }
public bool Assigned { get; set; }
}