有沒有辦法禁止輸出HTML中的asp:Literal
?禁止asp:從輸出HTML中輸入文字
如果我輸入文字<b>Hello world</b>
我想顯示它就像那樣,而不是粗體。
如果可能我不想擴展它,因爲我將不得不改變整個項目。
有沒有辦法禁止輸出HTML中的asp:Literal
?禁止asp:從輸出HTML中輸入文字
如果我輸入文字<b>Hello world</b>
我想顯示它就像那樣,而不是粗體。
如果可能我不想擴展它,因爲我將不得不改變整個項目。
我認爲你需要這一個:HttpUtility.HtmlEncode
它將替換<
與<
等,可以被安全地發送到客戶端。
這是最好的答案,如果你需要在不止幾個地方使用它,你最好的選擇就是擴展文字控制來支持它。預先做一點工作,使每個詞的可讀性更高,並且以後可以更輕鬆地工作。 – Kendrick 2010-08-10 15:16:10
其實,'HttpUtility.HtmlEncode'會是正確的使用方法。 – 2010-08-10 15:23:55
一種方式是.... 創建從ASP.net字面控制 派生的自定義LiteralControl和重寫Render(HtmlTextWriter的作家)方法以除去任何標籤。
我遲到了,但答案是將Literal.Mode
設置爲Encode
。
像這樣:
<asp:Literal runat="server" ID="myLiteralControl" Mode="Encode" />
不幸的是,你必須改變你的整個項目,無論你是擴展文字控。
*更改整個項目*是一個簡單的搜索和替換VS. – 2010-08-10 15:10:41
'asp:Literal'根據定義輸出它給出的文字文本。是否有一個原因,你不能使用'asp:Label',它會自動轉義您在其中提供的文本中的HTML? – StriplingWarrior 2010-08-10 15:17:08
'Hello World」runat =「server」/>Hello World」runat =「server」/>'這裏唯一的區別是Label生成一個'span'。它並沒有逃脫HTML –
BrunoLM
2010-08-10 17:00:15