asp.net-mvc - html 元素属性内的 Razor 语法 (ASP MVC 3)

标签 asp.net-mvc razor asp.net-mvc-3

我有一个包含重复客户行的表,我想将客户 ID 添加到表行的 ID 属性中,如下所示:

<tr id="row<customer id>"></tr>

我尝试添加此代码:

@foreach(var c in Model) {
   <tr id="row@c.id"></tr>
}

这给了我以下输出:

<tr id="row@c.id"></tr>
<tr id="row@c.id"></tr>

等等

但我希望它是:

<tr id="row1"></tr>
<tr id="row2"></tr>

等等

我还尝试添加 <tr>row@{c.id}</tr>但它不起作用..

最佳答案

你试过吗<tr>row@(c.id)</tr>

这不起作用的实际原因是因为你的 row@c.id匹配电子邮件地址的正则表达式。因此解析器假设它是一封电子邮件,而不是实际上尝试调用代码。原因row@{c.id}不起作用是因为 @{}不输出并且旨在包含代码块。

如有疑问,您应该使用 @()因为它将强制 () 之间包含的内容被解析为代码。

关于asp.net-mvc - html 元素属性内的 Razor 语法 (ASP MVC 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696071/

相关文章:

asp.net-mvc - Kendo 下拉列表隐藏在 Safari 中的 PDFViewer 后面

c# - 如何在 C# 中将值作为 url 传递

c# - Null 检查在 Razor 中无法正常工作

asp.net-mvc-3 - asp.net mvc 3 razor 中的报表查看器

asp.net-mvc - 在 ASP.NET MVC 中实现 "Remember Me"功能

asp.net-mvc-3 - 验证完成后运行 mvc3 验证功能

.net - ASP.NET MVC : Service layer, 数据层和 Controller - 它们如何一起通信?

c# - ASP.Net MVC : Calling a method from a view

razor - 如何将 razor View 分发到 .NET Core 中的另一个应用程序

css - 有时 Cassette 不会重写背景图像规则