我想讓最終用戶在我的ASP.NET MVC應用程序的文本區域中輸入沒有任何格式的文本。但是,我想保留他們在輸入文字時創建的任何換行符或段落。如何在我的ASP.NET MVC應用程序中允許選擇性HTML輸入?
如果我在不允許HTML輸入的情況下使用textarea,默認情況下,當文本保存到數據庫或讀回顯示在用戶界面上時,換行符和段落不會保留。
如果我AllowHTML
,我冒着代碼注入的風險。
我能想到實現這個唯一的另一種方式是不AllowHTML
而是有檢查只允許<p>
標籤和<br />
標籤的自定義屬性,但隨後實施的是,簡單,因爲它看起來,我將不得不維護一個所有可能的HTML標籤的字典,並且由於Web的性質如此不穩定,神知道CSS還有什麼其他的語法標記。
我是否過度複雜化了這個問題?有沒有什麼東西可以用,或者是否有更簡單的方法來實現?
我正在使用針對ASP.NET 4.5的ASP.NET MVC 5.2.3。
你是什麼意思_保留任何linebreak_?如果用戶只是輸入純文本並使用返回鍵輸入一個新段落,則它將被保留。 –
但換行符保留,所以不知道爲什麼你聲稱他們不是。如果你的意思是在顯示視圖中(例如'
@StephenMuecke來設計元素的樣式。謝謝。這是正確的答案。 :-) –