我想要在MVC4剃刀视图中定义WebGrid
。我想使用多行来定义列格式以提高可读性。以下工作,格式在一行:
@grid.GetHtml(
columns: grid.Columns(
grid.Column(
header: "Address",
format: (item) => @: @item.Address.Street1 @item.Address.Street2<br />@item.Address.City, @item.Address.State @item.Address.Zip
)
)
)
以下内容在第一个尾部括号上显示解析器错误; expected
,在其他尾随括号上显示Invalid expression term ')'
:
@grid.GetHtml(
columns: grid.Columns(
grid.Column(
header: "Address",
format: (item) => @: @item.Address.Street1 @item.Address.Street2<br />
@: @item.Address.City, @item.Address.State @item.Address.Zip
)
)
)
阅读ScottGu's blog后,我认为这是正确的多行语法。我尝试了大括号,分号和括号的各种放置,但我找不到使解析器满意的语法。
答案 0 :(得分:0)
经过一段时间的玩弄后,我能够找到使用<text>
标签的工作版本。
@grid.GetHtml(
columns: grid.Columns(
grid.Column(
header: "Address",
format: @<text>@item.Address.Street1 @item.Address.Street2<br />
@item.Address.City, @item.Address.State @item.Address.Zip</text>
)))
答案 1 :(得分:0)
也许它与多行lambda有关。
这样的事情:
@grid.GetHtml(
columns: grid.Columns(
grid.Column(
header: "Address",
format: (item) =>
{
@: @item.Address.Street1 @item.Address.Street2<br />
@: @item.Address.City, @item.Address.State @item.Address.Zip
}
)
)
)