0
我有这样的MVC代码,并希望通过模型值@conversionModel.SourceFileName
不幸的是,这段代码实际上并没有执行,什么正确的Razor语法将在我的情况?Razor的语法,代码没有在AjaxOptions中执行OnComplete
@Ajax.ActionLink("Remove file", "RemoveFile", "Converter",
new { id = @conversionModel.ProcessId },
new AjaxOptions {
OnComplete = "RemoveFile(@conversionModel.SourceFileName);"
})
-1,如果路径中包含\字符,这对路径来说很可能会发生什么?这将打破JavaScript。将字符串传递给javascript函数的唯一可靠方法实际上是JSON对它们进行编码。 – 2012-03-12 08:24:29
@DarinDimitrov感谢我的解决方案downvoting,因为它不包括任何可能性*没有*在OP的问题中提到。是否编码字符串从来没有在这里问过。它*值得注意(我相应地更新了我的答案)。但实际上*降低了我的解决方案,解决OP的最初问题是相当有问题的。 – 2012-03-12 08:33:52
OP的原始问题是'RemoveFile' JavaScript从未被执行。它从来没有执行,因为他没有正确地编码作为参数传递的字符串,他得到了一个JavaScript错误。用你的初始解决方案,它是一样的:参数编码不正确。现在你已经修复了你的答案,我除去了我的downvote,只是现在你的答案看起来和我的一样。 – 2012-03-12 09:56:23