【发布时间】:2016-02-02 19:52:15
【问题描述】:
我有一组简单的数据,从 SQL 表到 HTML.EditorFor 助手。 我遇到的问题是数据库中的记录是布尔值,我需要根据值是 1 还是 0 来显示一串文本。
我的编辑器模板如下所示:
@model nData.DAL.tblTaggingGroupInstance
<td>
@Html.DisplayFor(modelItem => modelItem.WeekDay)
</td>
<td>
@Html.DisplayFor(modelItem => modelItem.Segment)
</td>
<td>
@Html.DisplayFor(modelItem => modelItem.NetSales)
</td>
<td>
@Html.DisplayFor(modelItem => modelItem.SwellSales)
</td>
<td>
@Html.DisplayFor(modelItem => modelItem.SpikeSales)
</td>
<td>
@Html.EditorFor(modelItem => modelItem.Recurring)
</td>
<td>
@Html.EditorFor(modelItem => modelItem.tblTaggingReasonID)
</td>
<td>
@Html.EditorFor(modelItem => modelItem.Comment)
</td>
我的模特是:
public partial class tblTaggingGroupInstance
{
public int ID { get; set; }
public int tblTaggingGroupID { get; set; }
public int FinYear { get; set; }
public int FinWeek { get; set; }
public int WeekDay { get; set; }
public Nullable<int> tblTaggingReasonID { get; set; }
public Nullable<decimal> NetSales { get; set; }
public Nullable<decimal> SwellSales { get; set; }
public Nullable<decimal> SpikeSales { get; set; }
public string Comment { get; set; }
public string Segment { get; set; }
public Nullable<bool> Recurring { get; set; }
public Nullable<decimal> BaseSales { get; set; }
public virtual tblTaggingGroup tblTaggingGroup { get; set; }
}
而控制器是
public ActionResult Index()
{
var SelectedID = Convert.ToInt32(Session["_SessionSelectGroupID"]);
var SelectedYear = Convert.ToInt32(Session["_SessionSelectFinYear"]);
var SelectedWeek = Convert.ToInt32(Session["_SessionSelectFinWeek"]);
var tblTaggingGroupInstances = db.tblTaggingGroupInstances.Include(t => t.tblTaggingGroup);
return View(tblTaggingGroupInstances.Where(t => t.tblTaggingGroupID == SelectedID && t.FinYear == SelectedYear && t.FinWeek == SelectedWeek).ToList());
}
[HttpPost]
public ActionResult Index(List<tblTaggingGroupInstance> model)
{
foreach (var record in model)
{
db.Entry(record).State = EntityState.Modified;
}
db.SaveChanges();
return RedirectToAction("Index");
}
在不影响回发到数据库的值的情况下更改显示的文本的最简单/最简单的方法是什么?
谢谢 标记
【问题讨论】:
-
您指的是
Nullable<bool> Recurring属性吗?你想显示什么文字? -
是的,就是这样,我需要它说 Recurring 或 Non-Recurring,具体取决于值是 1 还是 0。
-
它可以为空,那么当它的
null时你想显示什么?一种选择是使用带有附加string属性的视图模型,该属性包含文本并包含该属性的隐藏输入(但如果您想编辑它并更新显示文本,那么您将需要 javascript) -
其他一些使用 HtmlHelper 扩展方法和 DisplayTemplates 的选项显示在this question的答案中
-
请更新您的问题的标题,以指定您实际需要的内容。我在您的标题中看到
dropdown,但现在在您的代码中
标签: c# asp.net-mvc entity-framework html-helper editorfor