que*_*en3 5 razor asp.net-mvc-3
我想编写 Razor 视图助手来生成单行内容:
@helper Format(obj) {
<text>
@obj.Title
@obj.FormatInnerData() (obj.User != null)
{
@obj.User.Name
}
<text>
}
Run Code Online (Sandbox Code Playgroud)
但我当然明白
Title
Inner Data
User Name
Run Code Online (Sandbox Code Playgroud)
目前我必须做
<text>@obj.Title @obj.FormatInnerData() @(obj.User != null ? obj.User.Name : "")</text>
Run Code Online (Sandbox Code Playgroud)
将文本输出生成为没有换行符的单行,但这对于许多属性来说可能会变得很长/不可读。
换句话说,我如何更方便地使用 Razor 生成文本内容,而不是标记内容?
UPD:理想情况下是这样的
<content>@obj.Title</content>
<content>@obj.Format()
@obj.User.Name</content>
Run Code Online (Sandbox Code Playgroud)
即只有内容标签之间的部分进入输出流。当然,也许有更简单的语法,例如 @: 而不是 <text>。
一个示例用例是生成内部带有标记的 JavaScript 字符串内容,或者生成每行包含许可证详细信息(格式为“密钥:名称(详细信息)”)的文本文件,并用空格填充以进行分组。
因此,如果我理解正确的话,您想要一种用多行指定视图的方法,而最终的输出将是一行上的所有内容?
我认为这不可能开箱即用,但您可以编写自己的自定义 RazorViewEngine(派生自实际的 RazorViewEngine),它会在返回视图之前修剪掉所有换行符。
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |