簡體   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