逃逸'@';传递给javascript的Razor内部变量中的字符

逃逸'@';传递给javascript的Razor内部变量中的字符,javascript,c#,html,razor,escaping,Javascript,C#,Html,Razor,Escaping,我必须将电子邮件变量传递给javascript。大概是这样的: Send 显然,电子邮件变量中有“@”字符,我需要对其进行转义,因为我遇到了以下错误:“意外令牌非法” 我读了这些帖子: 但没有一个能解决我的问题。我不知道,我做错了什么 我在这些帖子中尝试的几乎都是: <button onclick="Send(@email)">Send</button> 发送 结果:如预期的那样something@something.com=>相同的错误 { var str =

我必须将电子邮件变量传递给javascript。大概是这样的:

Send

显然,电子邮件变量中有“@”字符,我需要对其进行转义,因为我遇到了以下错误:“意外令牌非法”

我读了这些帖子: 但没有一个能解决我的问题。我不知道,我做错了什么

我在这些帖子中尝试的几乎都是:

<button onclick="Send(@email)">Send</button>
发送
结果:如预期的那样something@something.com=>相同的错误

{ 
 var str = email.Replace("@", ("@@"));
}
<button onclick="Send(@email)">Send</button>
<button onclick="Send(@:@email)">Send</button>
<button onclick="Send(@@email)">Send</button>
{
var str=email.Replace(“@”和(“@”);
}
发送
结果:something@@something.com=>相同的错误

{ 
 var str = email.Replace("@", ("@@"));
}
<button onclick="Send(@email)">Send</button>
<button onclick="Send(@:@email)">Send</button>
<button onclick="Send(@@email)">Send</button>
发送
结果:服务器错误:“:”在代码块的开头无效

{ 
 var str = email.Replace("@", "&#64;"));
}
<button onclick="Send(@email)">Send</button>
{
var str=email.Replace(“@”、“@;”);
}
发送
结果:64;something.com=>意外令牌非法

<button onclick="Send(@(email))">Send</button>
发送

发送
结果:如预期的那样something@something.com=>相同的错误

{ 
 var str = email.Replace("@", ("@@"));
}
<button onclick="Send(@email)">Send</button>
<button onclick="Send(@:@email)">Send</button>
<button onclick="Send(@@email)">Send</button>
发送
结果:关闭一个。“@”转义,这是呈现onclick=“@email”,但不幸的是,它不在变量email中

我尝试了其他不同的选择,但没有任何效果

<text></text>

而HttpUtility.Encode HttpUtility.JavascriptStringEncode HttpUtility.htmlAttributeNCode Http.Raw似乎也不起作用


我很乐意接受任何建议。我真的很想知道我错过了什么。多谢各位

我认为你的问题不是Razor,而是JavaScript。看起来您需要在
@email
周围加引号,因为它是一个字符串,而JavaScript正在抱怨没有这个引号的内容,因为它是非法的

<button onclick="Send('@email')">Send</button>
发送

我认为您的问题不是Razor,而是JavaScript。看起来您需要在
@email
周围加引号,因为它是一个字符串,而JavaScript正在抱怨没有这个引号的内容,因为它是非法的

<button onclick="Send('@email')">Send</button>
发送

非常好。我知道事情会很简单。我不知道你需要这些。非常感谢你。工作!很不错的。我知道事情会很简单。我不知道你需要这些。非常感谢你。工作!