使用VB在MVC中使用Razor语法

时间:2014-12-06 13:36:51

标签: asp.net-mvc razor syntax

在我看来,有一个模型包含User个对象的列表。我将~/thumbs文件夹中这些用户的个人资料照片保存为<username>.png。现在,我想显示所有用户的个人资料图片和名称。所以我编写了如下所示的代码

@Code
    For Each item in Model
        @<div class="col-md-2">
            <img class="img-responsive" src="~/thumbs/@item.username.png" alt="">
        </div>
    Next
End Code

此处, @ item.username.png 会生成错误,因为Visual Studio的intellisense假定我要显示png的{​​{1}}属性{1}}

如果我在username之前放置一个空格并将@item属性写为.png,则错误会得到解决,但是当我运行该页面时;它不显示图像,因为最终src转换为~/thumbs/@item.username .png

我该怎么办?请指教!

2 个答案:

答案 0 :(得分:2)

使用以下来避免编译razor语法问题

<img class="img-responsive" src="~/thumbs/@(item.username).png" alt="">

参考here quick - reference

答案 1 :(得分:1)

作为替代方案,根据Daniel的评论,您还可以预先格式化字符串,或者内联构建字符串,例如:与String.Format

<img class="img-responsive" src="@String.Format("~/thumbs/{0}.png", item.username)" alt="">