I have a table with repeating customer rows, I would like to add the customer ID to the ID attribute of my table rows like this:
<tr id="row<customer id>"></tr>
I try adding this code:
@foreach(var c in Model) {
<tr id="[email protected]"></tr>
}
Which gives me the following output:
<tr id="[email protected]"></tr>
<tr id="[email protected]"></tr>
etc.
But I would like it to be:
<tr id="row1"></tr>
<tr id="row2"></tr>
etc.
I also tried to add <tr>row@{c.id}</tr>
but it did not work..
Razor is a markup syntax that lets you embed server-based code into web pages using C# and VB.Net. It is not a programming language. It is a server side markup language. Razor has no ties to ASP.NET MVC because Razor is a general-purpose templating engine. You can use it anywhere to generate output like HTML.
Razor is a markup syntax for embedding . NET based code into webpages. The Razor syntax consists of Razor markup, C#, and HTML. Files containing Razor generally have a . cshtml file extension.
Razor is a simple programming syntax for embedding server code in web pages. Razor syntax is based on the ASP.NET framework, the part of the Microsoft.NET Framework that's specifically designed for creating web applications.
Razor code blocks are enclosed in @{ … } Inline expressions (variables and functions) start with @ Code statements end with a semicolon. Variables are declared with the var keyword.
have you tried <tr>row@(c.id)</tr>
?
The actual reason why this doesn't work is because your [email protected]
matches the regex for an email address. So the parser assumes it's an email and not actually an attempt to call code. The reason row@{c.id}
doesn't work is because the @{}
doesn't output and is meant to contain blocks of code.
When in doubt you should use @()
as it will force what's contained between the ()
to be parsed as code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With