.net Can';不要用razor编写这个简单的行代码
我试图在razor页面中编写以下简单代码,但它总是给出错误.net Can';不要用razor编写这个简单的行代码,.net,asp.net-mvc,razor,.net,Asp.net Mvc,Razor,我试图在razor页面中编写以下简单代码,但它总是给出错误 ( @gallery.Images.Count images ) // expect : ( 23 images ) 但奇怪的是,下面的代码是有效的 (@Model.RateCount rates) 我得到的是编译错误而不是运行时异常 完整的cshtml页面在下面 @using Something.UI.Models.ViewModels @model List<ImageGalleryUI> <div cla
( @gallery.Images.Count images ) // expect : ( 23 images )
但奇怪的是,下面的代码是有效的
(@Model.RateCount rates)
我得到的是编译错误而不是运行时异常
完整的cshtml页面在下面
@using Something.UI.Models.ViewModels
@model List<ImageGalleryUI>
<div class="albumlist">
@foreach (ImageGalleryUI gallery in Model)
{
<a href="@Html.ActionLinkRef(gallery.DisplayAction)">
<img src="@gallery.AlbumImageSrc" alt="@gallery.AlbumName" width="150px"/>
</a>
@Html.ActionLink(gallery.DisplayAction)
( @gallery.Images.Count images )
}
</div>
@使用Something.UI.Models.ViewModels
@模型列表
@foreach(模型中的ImageGalleryUI库)
{
@Html.ActionLink(gallery.DisplayAction)
(@gallery.Images.Count Images)
}
这是一个错误
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1646: Keyword, identifier, or string expected after verbatim specifier: @
Source Error:
Line 9: </a>
Line 10: @Html.ActionLink(gallery.DisplayAction)
Line 11: ( @{gallery.Images.Count} images )
Line 12: }
Line 13: </div>
编译错误
描述:编译服务此请求所需的资源时出错。请查看以下特定错误详细信息,并适当修改源代码。
编译器错误消息:CS1646:逐字说明符后面应为关键字、标识符或字符串:@
源错误:
第9行:
第10行:@Html.ActionLink(gallery.DisplayAction)
第11行:(@{gallery.Images.Count}个图像)
第12行:}
第13行:
试试这个
(@{Model.gallery.Images.Count} images)
试试这个
(@{Model.gallery.Images.Count} images)
在我看来,你在第一次陈述中遗漏了模型部分
(@Model.gallery.Images.Count images )
在我看来,你在第一次陈述中遗漏了模型部分
(@Model.gallery.Images.Count images )
如果你在高层没有做过类似的事情
@{
gallery = new ...
}
那么画廊就不存在了
您确定不是指@Model.gallery.Images.Count
编辑
试着替换
( @gallery.Images.Count images )
与
应该很好。问题是Razor正在解释(作为代码的一部分,而不是作为输出的一部分)。Put@:让Razor知道这一行上的内容是应该进入响应流的输出。如果您在顶部没有这样做的话
@{
gallery = new ...
}
那么画廊就不存在了
您确定不是指@Model.gallery.Images.Count
编辑
试着替换
( @gallery.Images.Count images )
与
应该很好。问题是剃刀在解释(作为代码的一部分,而不是作为输出的一部分。Put@:让Razor知道此行的内容是应该进入响应流的输出。gallery对象在foreach迭代中,它不是空的。我已经收到编译错误,而不是运行时错误。如果您没有任何html,您可以发布更多的代码吗在@gallery之前的循环中,则应省略@,您只需编写gallery。有什么编译错误吗?这种信息将是真正相关的信息,可以首先在您的问题中提出。您是Greatt,是的,这正是解释“(“and”)”作为code.gallery对象的字符在foreach迭代中,它不是空的。我已经得到编译错误。不是运行时错误。您可以再发布一点代码吗?如果您在@gallery之前的循环中没有任何html,那么应该省略@gallery,您应该只编写gallery。有什么编译错误吗?那就是这类信息将是真正相关的信息,需要首先在您的问题中提出。您是Greatt是的,它正将“(”和“)”字符解释为一个代码。请发布更多您的razor代码,现在只缺少例外,我们将继续:)任何人-请查看我对我的答案的编辑。这将为您解决问题。请提供定义库的代码片段和编译错误…请发布更多您的razor代码,现在只缺少例外,我们将继续:)任何人-查看我对我的答案的编辑。这将为您解决问题。请提供定义库的代码片段和编译错误。。。