Asp.net mvc 你如何摆脱'@';带有razor的url中的符号
我知道这很可能会是一件非常简单的事情,就像我还没有得到的“抓住你”一样;然而,我一直在努力摆脱以下URL中的Asp.net mvc 你如何摆脱'@';带有razor的url中的符号,asp.net-mvc,razor,escaping,umbraco,razorengine,Asp.net Mvc,Razor,Escaping,Umbraco,Razorengine,我知道这很可能会是一件非常简单的事情,就像我还没有得到的“抓住你”一样;然而,我一直在努力摆脱以下URL中的@符号 <a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a> 然而,这产
@
符号
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
然而,这产生了下面的YSOD
我遗漏了什么?尝试使用&64代码>而不是实际的@
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
我想知道为什么没有人建议对@
使用url编码字符%40
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/%4055.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
对我来说这很有效
我找到了另一种(在某些情况下可能更好)方法来逃避razor模板中的符号
在我的用例中,我有一个部分with资产,它应该被一个grunt任务替换。引用作用域npm包时,路径字符串中有一个@
@using Foo.Bar.Helpers
@{
var somescope = "@somescope";
}
@Html.RegisterAssetBlock(
content: @<text>
<!-- build:js /assets/js/bundle.js -->
<script src="/node_modules/@somescope/somepackage/dist/main.js" type="text/javascript"></script>
<!--endbuild-->
</text>
)
@使用Foo.Bar.Helpers
@{
var somescope=“@somescope”;
}
@Html.registerasetblock(
内容:@
)
因此,在每种情况下,都有正确的字符串(client编译时和server编译时)
对于您的情况,这意味着:
@using Foo.Bar.Helpers
@{
var location = "@55.000000,-1.000000";
}
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@(location),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
@使用Foo.Bar.Helpers
@{
var location=“@55.000000,-1.000000”;
}
另一种方式:
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@("@55.000000,-1.000000"),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
或
可能重复@pbjork answer@;工作;%40没有,对于.cshtml页面中标记中的此URL:
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@("@55.000000,-1.000000"),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>
<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@("@")55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>