'x' 是 'variable' 但用法与 'method' 类似
'x' is a 'variable' but is used like a 'method'
我正在为一个奇怪的情况而苦苦挣扎。我有一组要在 Razor 中迭代的页面。我需要做两次,一次在脚本标签内,一次在脚本标签外。现在,我知道 Razor 是为了生成 HTML 而不是 Javascript 但这工作正常,现在它坏了,我不明白为什么。这是中断的代码:
<script type="text/javascript">
@foreach (string page in pages)
{
<text>
function @page() {
// something here
}
</text>
}
</script>
这很好用:
<div class="intro">
@foreach (string page in pages)
{
<div id="@page">
<!-- whatever -->
</div>
}
</div>
Compiler Error Message: CS0118: 'page' is a 'variable' but is used
like a 'method'
并指向@page
的使用。事实上 VS13 也用红色波浪线表示变量 但仅在第一种情况下 !
这是怎么回事?
尝试
<script type="text/javascript">
@foreach (string page in pages)
{
<text>
function @(page)() {
// something here
}
</text>
}
哈哈!我想到了。它需要一个该死的 space,或者某种表达式终止符:
<text>
function @page () {
(注意@page 之后的 space,它向 Razor 表明表达式已经结束),或者:
<text>
function @(page)() {
当然,IDE 仍然抱怨需要一个标识符(函数名称),但那是因为它并不意味着生成 Javascript
我正在为一个奇怪的情况而苦苦挣扎。我有一组要在 Razor 中迭代的页面。我需要做两次,一次在脚本标签内,一次在脚本标签外。现在,我知道 Razor 是为了生成 HTML 而不是 Javascript 但这工作正常,现在它坏了,我不明白为什么。这是中断的代码:
<script type="text/javascript">
@foreach (string page in pages)
{
<text>
function @page() {
// something here
}
</text>
}
</script>
这很好用:
<div class="intro">
@foreach (string page in pages)
{
<div id="@page">
<!-- whatever -->
</div>
}
</div>
Compiler Error Message: CS0118: 'page' is a 'variable' but is used like a 'method'
并指向@page
的使用。事实上 VS13 也用红色波浪线表示变量 但仅在第一种情况下 !
这是怎么回事?
尝试
<script type="text/javascript">
@foreach (string page in pages)
{
<text>
function @(page)() {
// something here
}
</text>
}
哈哈!我想到了。它需要一个该死的 space,或者某种表达式终止符:
<text>
function @page () {
(注意@page 之后的 space,它向 Razor 表明表达式已经结束),或者:
<text>
function @(page)() {
当然,IDE 仍然抱怨需要一个标识符(函数名称),但那是因为它并不意味着生成 Javascript