2

我正在使用 MVC,并且我创建了一个 HtmlHelper 扩展函数 ImageLink。此函数使用两个 TagBuilder 对象来构建 HTML 图像链接(如<a><img/></a>)。

它工作正常,但现在我有一个页面,应该首先确认图像按钮的操作。所以,我添加了一个带有“javascript:return confirm('confirm me');”的 onclick 属性 作为 onclick 代码。

这呈现为: onclick="javascript:return confirm('confirm me');"

我虽然这行不通,但确实如此。但是现在当我们进入时:

"javascript: return confirm('确认我\r\nnewline');"

这呈现为:

onclick="javascript:return confirm('确认我换行');"

这是行不通的。

我希望 TagBuilder 根本不编码任何东西,让我来处理它。但既然它确实如此,我现在正在寻找一种让它正常工作的方法。

4

1 回答 1

2

反斜杠 (\) 是 C# 字符串中的一个特殊字符,因此当您希望它出现在最终字符串中时,您只需像在任何其他情况下通常所做的那样对其进行转义。

tag.MergeAttribute("onclick", "return confirm('first line\\n\\nsecond line');");
于 2011-10-09T04:13:49.620 回答