Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Displaying a literal period following razor syntax

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?)

like image 946
Doug Chamberlain Avatar asked Feb 16 '23 12:02

Doug Chamberlain


1 Answers

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");
like image 153
Darin Dimitrov Avatar answered Mar 05 '23 11:03

Darin Dimitrov