我正在使用VS2015,C#,MVC项目。
我创建了custom calendar。键入注释时,它正确显示给用户为html(中断,粗体,斜体...... - 一切正常)。 如果我尝试更新日历(每个DIV内容都从数据库中提取),则DIV内容不再显示为html,而是显示为纯文本。
为什么会这样?
我正在使用此代码解析DIV内容(@noteCurrentDate是DIV内容):
<div id="divDays" class="divDays">
@{
DateTime startDate = Convert.ToDateTime(Model.StartEndDateTable[0]["StartDate"]).Date;
DateTime endDate = Convert.ToDateTime(Model.StartEndDateTable[0]["EndDate"]).Date;
DateTime tempDate = startDate;
while (tempDate <= endDate)
{
DL.DataSets.Notes.spSelectNotesRow result = Model.NotesTable.AsEnumerable().Where(myRow => myRow.DateNote.Date == tempDate).FirstOrDefault();
string noteCurrentDate = "";
string activeDate = tempDate.Date.Month == Model.CurrentMonth ? "" : "dayUnactive";
string dateID = tempDate.Date.Day.ToString("d2") + "_" + tempDate.Date.Month.ToString("d2") + "_" + tempDate.Date.Year;
if (result != null)
{
noteCurrentDate = result.Note;
}
<div class="divDay">
<div class="divInnerDay">
<span id="spanDayNumber" class="spanDayNumber unselectable @activeDate">@tempDate.Date.Day</span>
<div id="@dateID" class="content editable" ng-keyup="updateNote('@dateID')">@noteCurrentDate</div>
</div>
</div>
tempDate = tempDate.AddDays(1);
}
}
</div>
<!-- divDays -->
在字段中输入内容时,内容如下所示:
每个按键事件都会将内容保存到数据库:
<b>Text in bold</b><div><i>text in italic (one break before)</i></div><div><i><u>text underline (another break)</u></i></div>
因此,html正确保存在数据库中。但是,当页面刷新时,DIV内容显示如下:
这是源头。对我来说,它看起来正确的HTML。为什么它不被解析为html而是纯文本?
答案 0 :(得分:4)
使用@Html.Raw()
作为您的内容