0

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

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

wOriginalWork 类的实例在哪里。如果我查看网站的 HTML,确认中有正确的字符串值,但窗口不显示并且立即调用该操作。如果 a 对 int 属性执行相同操作,例如Id

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

它按预期工作,在确认窗口中显示一条消息,其值为 Id。

我试过Title.toString()了,但它没有帮助。我认为它可以与 一起使用Html.ActionLink,但我想使用它是因为span在一个a元素中。

有任何想法吗?非常感谢。

4

2 回答 2

0

感谢帮助。现在解决了,我没有意识到 w.Title 值被评估为一个变量(并且 JavaScript 可能试图找到一个称为 Title 值的变量),而不是一个字符串值。它的工作原理是这样的:

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

所以有一个标题的预期字符串值。

于 2015-03-27T13:10:42.600 回答
0

尝试为您的 w.Title 使用 HttpUtility.HtmlEncode 来避免可能破坏 javascript 的转义字符

于 2015-03-27T07:43:10.503 回答