【发布时间】:2013-11-26 09:04:32
【问题描述】:
在我们的 ASP.Net MVC 3 应用程序中,当字符串值包含双引号时,我们会在表单上截断字符串。
例如,给定一个文本框:
@Html.TextBoxFor(m => m.County)
如果用户输入字符串:'Hampshire"County',则在将值渲染回表单时,仅显示字符串'Hampsire'。如果我检查模型中的值,则双引号被转义作为“汉普郡”。在 Fiddler 中,发布的值是正确的,并且该值正确存储在数据库中,因此它似乎与将文本框呈现给客户端的 Html 帮助器有关。
有人能解释一下吗?
【问题讨论】:
-
为什么在你的数据中间还有
"?该输入应该被验证,并且可能被删除?否则你最终会遇到像你现在遇到的那样的 PITA 场景:) -
视图呈现的最终 HTML 看起来是否正确(除了文本框中的值错误)?可以发一下吗?
-
你确定这是一个双引号而不是两个并排的撇号吗?
-
@AndreiV 如何将两个并排的撇号转义为 '\"'?
-
感谢大家的回复,不幸的是 Jason,是的,尽管他们是 PITA,但我们需要允许双引号。业务需求等等。事实证明,这是我们正在做的事情导致了这个问题,我将在回答我自己的问题时进行解释..
标签: c# asp.net-mvc asp.net-mvc-3