我有一个模型字段,返回带有换行符BR标记的HTML字符串,但如何在浏览器上显示该HTML?问题在于改为换行,标签本身显示在UI上
我试图将模型放在Html.Raw(modelItem => item.Speaking)中,但它从不工作,因为它期望内部的字符串,并且不能将lambda表达式转换为类型'string',因为它不是委托类型
以下是我尝试过的代码和评论.
<div>
@{
string strTest = "<br/>Line 1 <br/> Line 2<br>";
@Html.Raw(strTest); //This works and display as expected
@MvcHtmlString.Create(strTest); //This works and display as expected
@Html.Raw(Html.DisplayFor(modelItem => item.Speaking)); //This doesn't work, its show the <br /> on the screen
@MvcHtmlString.Create(Html.DisplayFor(modelItem => item.Speaking).ToString()); //This doent work, its show the <br /> on the screen
@Html.Raw(modelItem => item.Speaking) //This throw error Cannot convert lambda expression to type string
}
</div>
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助或建议.提前致谢!
在我以前的.net应用程序中,我以前在route.config中使用以下路由
routes.MapRoute(
name: "Default",
url: "{tenant}/{controller}/{action}/{id}",
defaults: new { tenant = "GRE", controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
现在,我将移至.Net Core,但由于某种原因,我无法在startup.cs中设置类似的路由
我已经尝试过以下方法,但从未成功。
app.UseMvc(routes =>
{
routes.MapRoute("testroute", "{tenant}/{controller}/{action}/{id}",
defaults: new { tenant = "GRE", controller = "Home", action = "Index" });
});
Run Code Online (Sandbox Code Playgroud)
HomeController.cs
public IActionResult Index(string tenant)
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
赞赏各种帮助或提示使其工作
谢谢,
c# asp.net-mvc asp.net-mvc-routing asp.net-core visual-studio-2017
它是在Visual Studio 2017上运行的.Net Core 2.0应用程序, 我想在视图上显示返回的 HTML 字符串。
我已将Microsoft.AspNetCore.Html.Abstractions Nuget添加到我的应用程序中,并且我想在 Razor 视图上显示一个 HTML 标记,这就是我的 CSHTML 的样子
@model EDMTLC.Models.QuickResultViewModel
@using Microsoft.AspNetCore.Html;
<div>@Html.Display(Model.ResultHTML) </div>
<div>TEST</div>
Run Code Online (Sandbox Code Playgroud)
我不认为@Html.Display 是我应该做的。在以前的版本 .Net 中我曾经
<div>
<text> @MvcHtmlString.Create(Model.ReportHTML)</text>
</div>
Run Code Online (Sandbox Code Playgroud)
但这将不再适用于 Core 2.0
有人可以帮忙举个例子吗?我找到了这个线程,但它没有帮助!
谢谢
如何在ASP.NET MVC Razor项目中显示集合?
我的模型和视图如下.对于一个人,我要在屏幕上显示许多测试.提前致谢
namespace UI.Models
{
public class SuperStudent
{
public string FullName { get; set; }
public ICollection<TestDetail> CandidateTestDetails { get; set; }
}
public class TestDetail
{
public DateTime TestDate { get; set; }
public string RegNum { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
}
视图
@model IEnumerable<UI.Models.SuperStudent>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.FullName)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
Print all test details
</td>
</tr>
}
</table>
Run Code Online (Sandbox Code Playgroud)