I was using this
if (ret = 1) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image.png")'); else if (ret = 2) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image2.png")'); else if (ret = 3) iconType = new google.maps.MarkerImage('@Url.Content("~/Content/images/image3.png")');
in a View (ASPNET MVC 3), now I'm moving the code to a separate javascript file (I'm using that because depending on a vaiable value I set as image of a control image.png, image2.png or image3.png).
Razor doesn't parse @Url.Content inside javascript file, What's the best way to handle this?
Thanks in advance! Guillermo.
You can call JavaScript methods from the Blazor pages with the help of JavaScript Interop by injecting the dependency IJSRuntime into the razor page. Then refer the script in the HTML page of the blazor application.
Solution 1. You can't. Razor is a . NET assembly and doesn't run on JavaScript or in a browser.
Calling JavaScript Function from Razor View To include a JavaScript function, it is as simple as include a <script> tag and define the function inside the script block.
I usually put a block like this in the beginning of the page:
<script> var ROOT = '@Url.Content("~")'; </script>
And then i refer to the ROOT
variable in javascript:
if (ret = 1) iconType = new google.maps.MarkerImage(ROOT + '/Content/images/image.png'); else if (ret = 2) iconType = new google.maps.MarkerImage(ROOT + '/Content/images/image2.png'); else if (ret = 3) iconType = new google.maps.MarkerImage(ROOT + '/Content/images/image3.png")');
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