我想编写Razor视图助手来生成单行内容:
@helper Format(obj) { <text> @obj.Title @obj.FormatInnerData() (obj.User != null) { @obj.User.Name } <text> }
但我当然得到了
Title Inner Data User Name
目前我必须这样做
<text>@obj.Title @obj.FormatInnerData() @(obj.User != null ? obj.User.Name : "")</text>
将文本输出生成为单行而不换行,但对于许多属性来说,这可能会变长很长/不可读.
换句话说,如何更方便地使用Razor生成文本内容,而不是标记内容?
UPD:理想情况下会是这样的
<content>@obj.Title</content> <content>@obj.Format() @obj.User.Name</content>
即只有内容标签之间的部分进入输出流.当然可能是一个更简单的语法,比如@:而不是< text>.
一个示例用例是生成带有标记的JavaScript字符串内容,或者生成带有许可证详细信息的文本文件,格式为“Key:Name(details)”,每行填充空格以进行分组.