簡體   English   中英

asp:TextBox中的XML標簽會阻止其他控件正常工作嗎?

[英]XML Tags in asp:TextBox prevents other controls working?

我在ASP頁上有一系列控件。 有些位於UpdatePanel內部,有些則不在。

如果我在一個文本框(例如“ <foo> ”)中放置了XML標簽,則UpdatePanel中的所有控件均不起作用。 一旦標簽被刪除,一切都很好。

我的“提交”按鈕位於UpdatePanel中,僅當文本框中沒有標簽時,才會打到btnSubmit_Click的斷點。

我是一個長期的C#開發人員,但是對ASP.NET來說還很陌生,因此可能缺少明顯的東西……這不是我期望的行為。

如果將UpdatePanel從頁面上刪除,則會發現回發引起了錯誤,因為.NET認為“ <foo>”是在服務器上接受數據的潛在危險位。 請參見StackOverflow上的問題。 您沒有看到錯誤,因為錯誤頁面HTML被返回到UpdatePanel的ajax調用而不是直接發送到您的瀏覽器,並且UpdatePanel不知道如何處理。

您可以通過添加來關閉檢查

ValidateRequest="false"

到aspx文件頂部的<@Page ...>指令。 或者,您可以修改web.config以在整個Web應用程序中獲得相同的效果。

您不能將標記放在文本區域中。 您必須像在任何其他元素中一樣,對HTML文本區域內的所有標記字符進行HTML轉義。

<textarea>&lt;foo> &amp; &lt;bar></textarea>

盡管實際上瀏覽器通常會理解您的意思並按原樣顯示任何<字符,但它仍然是無效的HTML和格式不正確的XML(大概這也是ASP.NET問題的根源,盡管沒有特定的代碼)這很難說)。


[英]"<!" character combination in ASP.NET textbox prevents postback

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM