2013-05-08 59 views
0

我在ascx頁面上有一個文本框輸入控制值的麻煩。它的價值總是以html編碼,我不知道它是如何被禁用的。 例如,當值包含<字符時,它始終會轉換爲&lt;。奇怪的是,它只發生在像Name.Lastname(它有一個子屬性)的字段上。我首先想到的是它可以通過HTML擴展方法如何禁用文本框的html編碼?

Html.TextBoxFor(m => m.Name.LastName, new { maxlength = "100" }) 

造成的,但這種情況並非如此,因爲當我直接使用HTML輸入,它的值仍然編碼:

<input id="Name_LastName" maxlength="100" 
     name="Name.LastName" 
     type="text" value="<%= Model.Name.LastName %>" /> 

不有人知道如何Name.LastName(與兒童財產)字段的文本框值的HTML編碼可以被禁用?

+0

可能重複(HTTP:/ /stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detected-from-the-client) – 2013-05-08 14:10:31

+0

看看這個問題:http://stackoverflow.com/questions/7136944/automatically -htmlencode-in-asp-net – DOK 2013-05-08 14:11:15

+0

不應該你正在使用'<%:'? – Jodrell 2013-05-08 14:20:01

回答

0

經過更多研究,我發現它是由javascript函數引起的,其中變量使用<%:初始化,並且此函數用於初始化文本框。所以最終它與兒童財產無關。餘與<%=改變<%:在JavaScript部分:

var lastName = "<%: Model.Name.LastName %>";

var lastName = "<%= Model.Name.LastName %>";

[從客戶端檢測到有潛在危險的Request.Form值]的
+0

如果這解決了你的問題,你應該接受你自己的答案。 – 2013-05-10 14:02:35

+0

是的,謝謝,但我必須等待2小時才能接受;) – 2013-05-10 16:33:02