繁体   English   中英

在锚标记中使用@内部href

[英]Using @ inside href of anchor tag

我实现了一个简单的付款网关,付款网址中有@ ,如下所示:

<a href="https://www.somegateway.com/@john_doe/" class="im-checkout-btn btn--light" target="_blank" rel="modal">Checkout With someGateway</a>

这是一个ASP.NET MVC Web应用程序,因此该视图是Razor视图引擎,并且在href内不接受@ ,它给了我:

CS0103:名称“ john_doe”在当前上下文中不存在

但是当我简单地创建一个html页面并使用上面的代码时,它就可以工作了,但是在razor视图中却无法工作。 我要去哪里错了?

您需要在剃须刀中转义@字符,而可以使用@@代替。 但是,尽管有文档,但在链接内部始终无法正常工作。

像这样编写链接应该有效!

<a href="https://www.somegateway.com/@("@john_doe")/" class="im-checkout-btn btn--light" target="_blank" rel="modal">Checkout With someGateway</a>

要么

<a href="https://www.somegateway.com/@Html.Raw('@')john_doe/" class="im-checkout-btn btn--light" target="_blank" rel="modal">Checkout With someGateway</a>

如果其他所有方法都失败了,您可以做

@{ var url = "https://www.somegateway.com/@john_doe/"; }

然后

<a href="@url" class="im-checkout-btn btn--light" target="_blank" rel="modal">Checkout With someGateway</a>

您可以将url放入变量中,然后使用该变量:

@{
    var url = "...";
}
<a href="@Html.Raw(url)">...</a>

甚至没有变量:

<a href="@Html.Raw("...")">...</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM