如何使用Razor显示模板将字符串转换为html字符串
How to use Razor display template to convert string to html string
我是剃刀和显示模板的新手,所以请纠正我的错误。我正在处理一个包含HTML的字符串。如果我尝试将其直接转换为HtmlString,我的Ajax表单将拒绝提交。作为一种变通方法,我尝试使用显示模板来实现类似的目标
我的@foreach
循环包含此
@Html.DisplayFor(modelItem => myModel.myString, "HtmlString")
我的显示模板包含此
HtmlString.cshtml
@model String
@{
new HtmlString(@Model);
}
因此,如果myString = "<ul><li>my text</li></ul>"
我希望我的ajax表单显示
- 我的文本
我现在拥有的东西不起作用,也没有任何回报。请帮我做错事。
您应该像使用@Html.Raw()
一样;
@Html.Raw(Model.myString)
希望这能有所帮助。
我对您的代码做了一些小的修改。请测试并执行。
在HtmlString.cshtml
文件中,将代码替换为以下内容。这是一个在foreach
循环中被调用的partial view
,并被传递一个包含HTML
的string
值。@Html.Raw
用于将HTML显示为HTML:
@model String
@Html.Raw(Model)
您的视图将接收从控制器的操作方法传递的字符串列表。每个字符串都包含HTML:
@model List<string>
@foreach (var s in Model)
{
@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);
}
结果输出如下:
<ul><li>my text</li></ul><ul><li>my text</li></ul>
我希望我能正确理解你的问题?
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 将字符串转换为格式化日期
- IE在将字符串转换为日期时从日期中删除4小时
- node.js将字符串转换为要上传到Web服务器的文件
- 将字符串转换为JS对象
- 在js中将字符串转换为十六进制
- 试图了解如何使用parseFloat将字符串转换为数字
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 将字符串转换为GWT中的JSON对象(JSNI)
- 如何使用Razor显示模板将字符串转换为html字符串
- 将字符串转换为数组编号Javascript
- js字符串转换为具有两个值的对象
- 转换<a>使用jQuery将文本字符串转换为dom元素
- Jquery-将字符串转换为reg exp对象
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 将JavaScript字符串转换为整数
- moment js,将EST字符串转换为UTC
- 如何在javascript中将字符串转换为有效日期
- 通过JQuery将字符串转换为JSON