Javascript Razor中的字符串属性,作为onclick确认的一部分

Javascript Razor中的字符串属性,作为onclick确认的一部分,javascript,asp.net-mvc,razor,onclick,url.action,Javascript,Asp.net Mvc,Razor,Onclick,Url.action,在调用Url.action中指定的操作之前,我需要一个确认窗口。我的代码是: <a href="@Url.Action("Delete", "OriginalWorks", new {id = w.Id})" onclick="return confirm('Do you... '+ @w.Title + '?')"><span></span></a> 它按预期工作,在确认窗口中显示一条Id值为的消息 我试过Title.toString,但没用

在调用Url.action中指定的操作之前,我需要一个确认窗口。我的代码是:

<a href="@Url.Action("Delete", "OriginalWorks", new {id = w.Id})" 
onclick="return confirm('Do you... '+ @w.Title + '?')"><span></span></a>
它按预期工作,在确认窗口中显示一条Id值为的消息

我试过Title.toString,但没用。我认为它可以与Html.ActionLink一起使用,但我想使用它是因为元素中的span


有什么想法吗?非常感谢

尝试使用HttpUtility.HtmlEncode作为您的w.Title,以避免转义字符破坏javascript

谢谢您的帮助。现在解决了这个问题,我没有意识到w.Title值是作为一个变量计算的,JavaScript可能试图找到一个名为Title值的变量,而不是字符串值。它的工作原理如下:

<a href="@Url.Action("Delete", "OriginalWorks", new {id = w.Id})" 
onclick="return confirm('Do you... @w.Title?')"><span></span></a>

因此,Title有一个预期的字符串值

可能是w。标题为空?您能确认确认中正确的字符串值是多少吗?字符串中是否有引号破坏了javascript?是的。很可能字符串值中有一个单独的引号,这会导致JS字符串过早终止,并导致JS错误。字符串中没有引号,我只是错误地加入了字符串,请参见我的答案。谢谢你的帮助!问题不在于此,而是好的推荐,将使用。
<a href="@Url.Action("Delete", "OriginalWorks", new {id = w.Id})" 
onclick="return confirm('Do you... @w.Title?')"><span></span></a>