@ Html.DisplayText实际上不会显示文本
以下是我的一个ASP MVC3索引页面上表格第一行的第一部分。 当页面加载时,我已逐步完成代码,并且可以看到条件的评估已正确完成,但不是“CE”或“PT”显示。 我是ASP MVC的新手,有人可以帮助我解释语法/解释发生了什么吗?
@foreach (var item in Model.Where(i => i.Status != "C")) { var Id = item.Id; @if (!String.IsNullOrWhiteSpace(item.TableName)) { if (item.TableName.Equals("AgentContEd")) { @Html.DisplayText("CE"); } else if (item.TableName.Equals("AgentProductTraining")) { @Html.DisplayText("PT"); } else { @Html.DisplayFor(modelItem => item.TableName) } }
如果您没有任何其他html,请使用@:
或
在服务器端代码中指定html文本。
if (item.TableName.Equals("AgentContEd")) { @:CE } else if (item.TableName.Equals("AgentProductTraining")) { PT }
有5种不同的显示文字的方式。 为了显示您需要使用的字符串
@Html.DisplayName(string)
DisplayText是Model.PropertyName的同义词。所以Model.PropertyName = @ Html.DisplayText(’PropertyName’)
因此,如果CE不是模型的属性,并且您只是尝试输出原始文本而不是仅使用原始文本替换该语句:
if (item.TableName.Equals("AgentContEd")) { CE }
你必须让Razor意识到你正试图显示文字文本。 看到这个好
Razor语法指南以获取更多信息。
if (item.TableName.Equals("AgentContEd")) { CE }