1

有人可以解释为什么第一个有效但第二个无效

@Html.ActionLink("Go to Link", "action")


@
{
Html.ActionLink("Go to Link", "action");
}
|
4

2 回答 2

0

您将第二个封装在代码块中。与代码隐藏(控制器、控制台应用程序、winforms)中的 ac# 代码类似,您不会告诉编译器如何处理它。所以你只是让它运行代码。这就像在说:

string a;
a="5";

编译器不知道下一步该做什么a。你想Console.Write(a)在控制台应用程序中写出来吗?因此,在 MVC 中,您需要告诉 razor 引擎如何处理它@通过在 html 帮助程序的开头添加魔法,您是在告诉剃刀引擎实际写出它,使用生成的字符串ActionLink

@
{
    @Html.ActionLink("Go to Link", "action");
}
于 2013-05-02T03:53:36.450 回答
0

第一个是表达式,第二个是代码块。看看 Haack 的快速参考

于 2013-05-02T03:53:47.130 回答