0

我是剃刀语法的新手,并且在代码中努力正确地转义回 html。

这是一个我无法工作的例子

@For Each item In Model
Dim currentItem = item
@<tr>

    <td>
        <video controls poster="@currentItem.ImageName + ".jpg" width="320" height="240">
        <source type="video/flv" src="@currentItem.VideoName + ".flv"">
        </video>
    </td>
    <td>
        @Html.DisplayFor(Function(modelItem) currentItem.Id)
    </td>

    <td>
        @Html.DisplayFor(Function(modelItem) currentItem.Name)
    </td>


 </tr>
Next

我试过使用和@:。但是剃刀语法一直在抱怨。非常感谢修复我的代码并解释为什么新代码有效。

干杯!

4

1 回答 1

0

你几乎是对的。唯一的问题是路径的定义。

您基本上需要的是以下内容:

<video poster="[image name].jpg" ...>

where[image name]替换为正确的值。所以你需要@currentItem.ImageName. 那是对的。您可以用空格结束此表达式。但是,这会在输出中增加空间,这在此处是不需要的。相反,您可以用括号定义表达式的结尾:@(currentItem.ImageName)

所以你的定义是:

<video controls poster="@(currentItem.Day).jpg" width="320" height="240">
    <source type="video/flv" src="@(currentItem.Month).flv">
于 2013-06-14T22:57:15.947 回答