我想在新行上拆分一个字符串,并根据行号和该行的开头格式化不同的每一行。
我找到了一个可以很好地完成任务的例子(stackoverflow):
@Html.Raw(Html.Encode(Model[i].Services[j].ServiceDescription).Replace("\n", "<br />"))
但这还需要一些补充:
<h1> text from that model </h1>
)<h4> text from that model </h4>
)<ul><li>Model[i].Services[j].ServiceDescription</li><ul>
,请将其添加到它:
<ul>
<li>Model[i].Services[j].ServiceDescription first "-"text </li><li>Model[i].Services[j].ServiceDescription second "-"text </li>
<ul>
我想我可以这样:
<h1>@Html.Raw(Html.Encode(Model[i].Services[j].ServiceDescription).Replace("\n", "<br />"))</h1>
但是这会使用<h1>
标题格式化整个文本,所以我需要一个for
- 循环和if
来迭代字符串,可能是这样的:
no JavaScript, but c# ( I put this into fiddler,because I couldn't format it here)
示例输入如下:
“第一行\ r \ n第二行\ r \ n第三行\ r \ n-第一个Li_Element \ r \ n-第二个Li_Element \ r \ n正常文本。”
顺便说一句,我找到了类似split up a string on new lines的内容。
我怎么能意识到这一点,我不知道如何将所有单个部分组合成一个正常工作的代码?
更新 我做了类似的事情:
@BWHtml.ToParagraphs(Model[i].Services[j].ServiceDescription)
我做了类似的事情:
UPDATE(终): final
您是否认为此代码中存在安全问题或提高性能的任何建议?
答案 0 :(得分:1)
似乎自定义HTML帮助程序适合您,创建方法CustomHtmlHelper.FormatParagraphs
,按行拆分给定字符串,根据需要进行修改并返回MvcHtmlString
。