编辑器模板中的@if + lambda

时间:2011-05-10 00:39:50

标签: asp.net-mvc-3 lambda razor editortemplates

我有些东西我无法找到正确的语法:

/Views/Shared/EditorTemplates/Component.cshtml

@model Website.Models.Component

<div class="editor-field">
    @if (x => x.Name == "")
    {
        @Html.EditorFor(x => x.Name)
        <button class="create">New</button>
    }
    else
    { 
        @Html.DisplayFor(x => x.Name)
        <button class="delete" value="@Model.Id">X</button>
    }
</div>

我希望目的很明确......我怎么去那里(谷歌很难做到这一点)?

1 个答案:

答案 0 :(得分:2)

x => x.whatever是一个lambda表达式;它创建了一个委托。

if条件中,您需要一个正常的表达式,可能使用Model属性:

@if (String.IsNullOrWhitespace(Model.Name)) {