小编Sré*_*áîr的帖子

在MVC Razor视图中显示模型中的HTML字符串

我有一个模型字段,返回带有换行符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)

感谢任何帮助或建议.提前致谢!

asp.net-mvc html-helper razor asp.net-mvc-5

8
推荐指数
3
解决办法
2万
查看次数

MVC路由.net核心

在我以前的.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

5
推荐指数
1
解决办法
500
查看次数

使用 Microsoft.AspNetCore.Html.HtmlString

它是在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

有人可以帮忙举个例子吗?我找到了这个线程,但它没有帮助!

谢谢

c# asp.net-mvc razor asp.net-core-mvc asp.net-core-2.0

5
推荐指数
2
解决办法
6061
查看次数

如何在ASP.NET MVC Razor项目中显示集合?

如何在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)

asp.net-mvc razor asp.net-mvc-4 uicollectionview

1
推荐指数
1
解决办法
4662
查看次数