Javascript 如何使用Razor显示模板将字符串转换为html字符串
我不熟悉razor和显示模板,所以请纠正我的错误。我正在处理一个包含HTML的字符串。如果我尝试,我的Ajax表单将拒绝提交。作为一种解决方法,我尝试使用显示模板来实现类似的目标 我的Javascript 如何使用Razor显示模板将字符串转换为html字符串,javascript,html,asp.net-mvc,razor,asp.net-ajax,Javascript,Html,Asp.net Mvc,Razor,Asp.net Ajax,我不熟悉razor和显示模板,所以请纠正我的错误。我正在处理一个包含HTML的字符串。如果我尝试,我的Ajax表单将拒绝提交。作为一种解决方法,我尝试使用显示模板来实现类似的目标 我的@foreach循环包含以下内容 @Html.DisplayFor(modelItem => myModel.myString, "HtmlString") 我的DisplayTemplate包含以下内容 @Html.DisplayFor(modelItem => myModel.myString
@foreach
循环包含以下内容
@Html.DisplayFor(modelItem => myModel.myString, "HtmlString")
我的DisplayTemplate包含以下内容
@Html.DisplayFor(modelItem => myModel.myString, "HtmlString")
HtmlString.cshtml
@model String
@{
new HtmlString(@Model);
}
所以如果myString=“- 我的文本”
“
我希望我的ajax表单显示我的文本
我现在拥有的东西不起作用,什么也没有回报。请帮我纠正我的错误。你应该使用
@Html.Raw()
like
@Html.Raw(Model.myString)
希望这有帮助。我对您的代码做了一些小修改。请测试并实现 在
HtmlString.cshtml
文件中,将代码替换为以下内容。这是在foreach
循环中调用的局部视图
,并传递一个字符串
值,该值包含HTML
@Html.Raw
用于将Html显示为Html:
@model String
@Html.Raw(Model)
视图将收到从控制器的操作方法传递的字符串列表。每个字符串都包含HTML:
@model List<string>
@foreach (var s in Model)
{
@Html.Partial("HtmlString", s)
}
@型号列表
@foreach(模型中的var s)
{
@Html.Partial(“HtmlString”,s)
}
这是我用来测试您的场景的数据。输出的HTML是正确的:
public ActionResult TestMethod1()
{
List<string> strings = new List<string>();
strings.Add("<ul><li>my text</li></ul>");
strings.Add("<ul><li>my text</li></ul>");
return View(strings);
}
public ActionResult TestMethod1()
{
列表字符串=新列表();
字符串。添加(“- 我的文本”
”;
字符串。添加(“- 我的文本”
”;
返回视图(字符串);
}
结果输出如下所示:
<ul><li>my text</li></ul><ul><li>my text</li></ul>
- 我的文本
- 我的文本
我希望我正确地理解了你的问题?你的意思是在
HtmlString.cshtml
中使用@Html.Raw(Model.myString)
?因为我试图在视图中使用它,而Ajax表单拒绝提交。@usr4896260。使用Html.Raw()
是正确的。但这与Ajax表单无关。如果您对此有问题,则应显示相关代码。