方法名不能与其左括号分开

本文关键字:不能 方法 | 更新日期: 2023-09-27 18:05:31

无法显示

    <p>
        Your name: @Html.TextBoxFor
        (x => x.Name)
    </p>

呈现
    <p>
        Your name: @Html.TextBoxFor(
        x => x.Name)
    </p>

为什么我们不能将方法名与左括号(分开,这样每个方法名都有自己的行?

是否有绕过此功能的技巧(或可能是错误)?

方法名不能与其左括号分开

这是因为您在模板中,而不是在*.cs文件中。Razor是MVC使用的模板渲染引擎,它可以解析模板,取出看起来像代码的文本片段并执行它们,但它并不完美,而且它不能总是捕获每个场景。

特别地,在这里,@前缀直接在方法调用之前,告诉Razor读取直到调用字符串结束,即),或者直到它到达该行的末尾。因为它从来没有得到一个完整的调用字符串,所以它失败了。

试着告诉Razor整个东西是一个代码块

Your name: @(Html.TextBoxFor (x => x.Name))