在我的C#MVC視圖代碼更換單引號我有一個隱藏的輸入字段用雙引號
<input type='hidden' name='foo' value='${r.data}'/>
在我的本地機器上測試它生成的HTML源代碼。
<input type='hidden' name='foo' value='bah'/>
在我的生產服務器發送到客戶端的源
<input type="hidden" name="foo" value="bah"/>
已經取代單引號'雙引號」。 如果有雙引號中這將打破可變數據。
現在我知道我應該測試的HTML特殊字符或至少做
<input type="hidden" name="buttons" value="${r.data.Replace(@"""", """)}"/>
爲什麼本地機器和生產量之間的差異?
這個得到改變的地方在於它是火花視圖引擎的一部分,還是C#中的 響應構建器的一部分,但這沒有意義? 我唯一能想到的是與IIS和VS2010內置web服務器的區別?
文件編碼是對當地生產UTF8一樣,有使用相同的dll。和Release版本相同。
兩個單引號和雙引號應該被允許。 Single vs Double quotes (' vs ")
這沒有任何意義,這可能會發生 而我覺得我失去了我的想法。
我能想到的唯一的事情是DOCTYPE <!DOCTYPE HTML PUBLIC! 「 - // W3C // DTD XHTML 1.0 Strict標準// EN」「http://www.w3.org/TR/xhtml1/DTD/ XHTML1-strict.dtd「> ,因爲它需要雙不單引號,但不能看到發動機或web服務器如何將平移源走出去 – rqmedes 2013-03-07 05:45:02