The framework I am using is .NET 6.
Previously, the src
attribute of the image element like this:
<img src="@ImageServer/images/BG.png" />
The variable of ImageServer
stores the URL of the image server.
Recently, I need to add a token in it for anti-theft chain.
I tried it like this:
<img src="@ImageServer/images/BG.png@GetToken()" />
However, after the program is run, the src
turns out to be this:
<img src="https://www.aaa.com/images/BG.png@GetToken()" />
What's wrong with my code and how can I render two variables in src
attribute? Thank you.
CodePudding user response:
The text just before the @
is causing the render engine to not parse the @
as a server-side code indicator.
Make the whole value server-side calculated, instead of outputting small pieces of server-side values into client-side values. For example:
<img src="@(ImageServer "/images/BG.png" GetToken())" />
This way the view engine sees everything within the @()
as a server-side expression and outputs the result of that expression.
Similarly, with string interpolation:
<img src="@($"{ImageServer}/images/BG.png{GetToken()}")" />