方法名不能与其左括号分开
本文关键字:不能 方法 | 更新日期: 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))