[英]Escape '@' character in Razor inside variable passed to javascript
我必須將電子郵件中的變量傳遞給javascript。 像這樣:
<button onclick="Send(email)">Send</button>
顯然,電子郵件變量中有'@'字符,我需要對此字符進行轉義,因為我收到此錯誤:“意外的令牌非法”
我讀了這些帖子: 在razor視圖引擎中使用 Escape @字符,在razor視圖引擎中使用Escape @字符,但是它們都無法解決我的問題。 我不知道我在做什么錯。
這些帖子幾乎涵蓋了我嘗試的所有內容:
<button onclick="Send(@email)">Send</button>
結果:按預期方式something@something.com =>相同的錯誤
{
var str = email.Replace("@", ("@@"));
}
<button onclick="Send(@email)">Send</button>
結果:something @@ something.com =>相同的錯誤
<button onclick="Send(@:@email)">Send</button>
結果:服務器錯誤:“:”在代碼塊的開頭無效
{
var str = email.Replace("@", "@"));
}
<button onclick="Send(@email)">Send</button>
結果:something&64; something.com =>意外令牌非法
<button onclick="Send(@(email))">Send</button>
要么
<button onclick="Send(@(@email))">Send</button>
結果:按預期方式something@something.com =>相同的錯誤
<button onclick="Send(@@email)">Send</button>
結果:關閉一個。 '@'被轉義,這將呈現onclick =“ @ email”,但不幸的是不在變量email中。
我嘗試了其他各種選擇,但沒有任何效果。
<text></text>
和HttpUtility.Encode HttpUtility.JavascriptStringEncode HttpUtility.HtmlAttributeEncode Http.Raw也不起作用。
我將很高興為您提供任何建議。 真的想知道我在這里想念的是什么。 謝謝。
我認為您的問題不是Razor之一,而是JavaScript。 看來您需要在@email
周圍@email
引號,因為它是一個字符串,而JavaScript正在抱怨沒有該內容的內容,因為它是非法的。
<button onclick="Send('@email')">Send</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.