Displaying a literal period following razor syntax
Asked Answered
C

1

5

How can I escape the razor engine to print a literal period after my property value? The compiler is interpreting the period as to be followed by a method or property, so it throws an error that 'PDF' is not a valid property or method.

col.Custom(@<a href="http://someurl/@item.INSTRUMENT_NUM.pdf">@item.INSTRUMENT_NUM</a>).Named("Instrument Number");

yellow screen of death

Compiler Error Message: CS1061: 'string' does not contain a definition for 'pdf' and no extension method 'pdf' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)

Clichy answered 20/5, 2013 at 14:19 Comment(0)
D
9

Wrap it in parenthesis (assuming INSTRUMENT_NUM is a property of item and not to be printed as literal - adapt the closing parenthesis location if this is not the case):

col.Custom(@<a href="http://someurl/@(item.INSTRUMENT_NUM).pdf">@item.INSTRUMENT_NUM</a>)
   .Named("Instrument Number");
Dampen answered 20/5, 2013 at 14:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.