在项目中创建 TestModel 类,代码如下。
public class TestModel
{
public long EmailTemplateId { get; set; }
public string TemplateName { get; set; }
public string TemplateContent { get; set; }
public Nullable<System.DateTime> CreatedDate { get; set; }
public Nullable<System.DateTime> UpdatedDate { get; set; }
public Nullable<bool> IsDefaultTemplate { get; set; }
public string TemplateKey { get; set; }
public string TemplatePath { get; set; }
public string TemplateJson { get; set; }
public Nullable<bool> IsAdmin { get; set; }
public int TemplateType { get; set; }
public string TemplateTag { get; set; }
}
为 Controller 创建GetTeSTLst操作方法并获取所有数据和列表传递test.cshtml
public ActionResult GetTestlst()
{
var templist = GetTestList().ToList();
return View(templist);
}
<小时/>
下面的代码编写了Test.cshtml页面并获取 Controller 中的模型列表进行查看。
@using test.Helpers;
@model List<test.Entities.TestModel>
@{
ViewBag.Title = "Template";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model[0].EmailTemplateId)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateName)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateContent)
</th>
<th>
@Html.DisplayNameFor(model => model[0].CreatedDate)
</th>
<th>
@Html.DisplayNameFor(model => model[0].UpdatedDate)
</th>
<th>
@Html.DisplayNameFor(model => model[0].IsDefaultTemplate)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateKey)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplatePath)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateJson)
</th>
<th>
@Html.DisplayNameFor(model => model[0].IsAdmin)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateType)
</th>
<th>
@Html.DisplayNameFor(model => model[0].TemplateTag)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EmailTemplateId)
</td>
<td>
@Html.DisplayFor(modelItem => item.TemplateName)
</td>
<td>
**`<iframe id="testiframe" class="iframe" src=@item.TemplateContent></iframe>`**
</td>
<td>
@Html.DisplayFor(modelItem => item.CreatedDate)
</td>
<th>
@Html.DisplayFor(model => item.UpdatedDate)
</th>
<th>
@Html.DisplayFor(model => item.IsDefaultTemplate)
</th>
<th>
@Html.DisplayFor(model => item.TemplateKey)
</th>
<th>
@Html.DisplayFor(model => item.TemplatePath)
</th>
<th>
@Html.Raw(item.TemplateJson)
</th>
<th>
@Html.DisplayFor(model => item.IsAdmin)
</th>
<th>
@Html.DisplayFor(model => item.TemplateType)
</th>
<th>
@Html.DisplayFor(model => item.TemplateTag)
</th>
<td>
@*@Html.ActionLink("Edit", "Edit", "Test", new { id = item.Id }, null) |
@Html.ActionLink("Details", "Details", "Test", new { id = item.Id }, null) |
@Html.ActionLink("Delete", "Delete", "Test", new { id = item.Id }, null)*@
</td>
</tr>
}
</table>
在图像下方显示输出。 iframe 正确,但在模型列表中不显示 Html 内容。请给出答案。
<小时/>最佳答案
您是否考虑过将 HTML 加载到容器中?
<div id='@item.EmailTemplateId'></div>
<script type="text/javascript">
$(document).ready(function(){
$('#@item.EmailTemplateId').load('@item.');
});
</script>
关于model-view-controller - 如何使用 MVC Razor View 将 HTML 内容绑定(bind)到 Iframe 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59451227/