MVC.NET:在razor之后立即使用文本

adi*_*nas 1 asp.net asp.net-mvc razor

在这个例子中(尽管这个问题可能在其他情况下发生)我想从Modal中取出"id"变量并在它之后立即(没有空格)添加".jpg"

试试这个:

<img src="/Images/@Model.Id:@.jpg">
Run Code Online (Sandbox Code Playgroud)

当然不起作用(HttpCompileException).

试试这个:

<img src="/Images/@Model.Id<text>@.jpg</text>">
Run Code Online (Sandbox Code Playgroud)

创造了这个:

<img src="/Images/75<text>.jpg</text>">
Run Code Online (Sandbox Code Playgroud)

所以这不好.

我知道我可以使用完整路径在Modal中创建一个额外的变量,或者在Controller中创建它并在ViewBag中传递它但我想知道如何在.cshtml文件中解决它以供将来参考.

I.G*_*ual 6

简单,使用括号

<img src="/Images/@(Model.Id).jpg">
Run Code Online (Sandbox Code Playgroud)

另一种选择是打印.jpg为字符串

<img src="/Images/@Model.Id@(".jpg")">
Run Code Online (Sandbox Code Playgroud)

或者将它们连接起来

<img src="/Images/@(Model.Id + ".jpg")">
Run Code Online (Sandbox Code Playgroud)