asp.net-mvc-3 – 用于生成单行文本的Razor

我想编写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)”,每行填充空格以进行分组.

解决方法

因此,如果我理解正确,您想要一种方法来指定多行的视图,而最终输出将是一行中的所有内容

我不认为开箱即用,但您可以编写自己的Custom RazorViewEngine(从实际的RazorViewEngine派生),它会在返回视图之前修剪掉所有换行符.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....