我使用summernote添加图片,视频,文字。此外,我将图像或视频保存为类型字符串到数据库的Html代码。当我从数据库中检索视频或图像以在夏令时显示时,它需要将近5分钟,我不知道为什么。但是,当我从数据库中检索文本以在summernote上显示时,没有问题。
这是模型
public class Article
{
[AllowHtml]
[Column(TypeName = "varchar(MAX)")]
public string Content { get; set; }
}
以下是夏令营编辑器的视图
@Html.TextAreaFor(x => Model.Content, new { @class = "", placeholder = @Blog.Helper.Resources.Content, @id = "summernote_1" })
此外,如果我在视图中使用以下代码
<div id="summernote_1">@Html.Raw(Model.Content)</div>
显示视频或图像没问题,但我无法编辑summernote。当我编辑summernote时,Model.Content变为null。
如果我在View
中使用以下代码@Html.TextAreaFor(x => Model.Content, new { @class = "", placeholder = @Blog.Helper.Resources.Content, @id = "summernote_1" })
编辑summernote没问题,但显示视频或图像大约需要5分钟。
由于这些原因,我试图在View中使用下面的代码,但下面的代码出现错误。
@Html.TextAreaFor(x => Html.Raw(Model.Content), new { @class = "", placeholder = @Blog.Helper.Resources.Content, @id = "summernote_1" })
我可以在html.TextAreaFor中使用html.raw吗?或者我可以为此问题做些什么来显示视频或图像并编辑summernote。 对不起我的英语不好,我希望有人可以帮助我。
答案 0 :(得分:1)
Html.Raw
方法返回System.Web.IHtmlString
,我认为您需要的只是传递包含HTML标记的string
属性(AFAIK Html.Raw
帮助程序不能在其他HTML帮助程序中使用例如DisplayFor
或TextBoxFor
)。
可以在HttpUtility.HtmlDecode
之前使用Content
TextAreaFor
属性,如此示例所示(特别是如果HTML标记在不知不觉中编码):
@model Article
@{
Model.Content = HttpUtility.HtmlDecode(Model.Content);
}
@Html.TextAreaFor(x => x.Content, new { @class = "", placeholder = @Blog.Helper.Resources.Content, @id = "summernote_1" })
通过这种方式,您可以从viewmodel的字符串属性中正确呈现HTML标记,而不会丢失模型绑定。
答案 1 :(得分:0)
.textarea {
填充:2px;
宽度:250像素;
高度:200像素;
边框:实心1px#e0e0eb;
溢出:滚动;
溢出-y:滚动;
溢出-x:隐藏;
}
在包含类“ textarea”的div内使用@ Html.Raw()编写html内容。
<div class="textarea"> @Html.Raw(Model.NOTE) </div>