2012-05-30 38 views
12

Tôi đã nhận được lỗi "Một yêu cầu nguy hiểm tiềm năng" .. trong ứng dụng Biểu mẫu Web tôi đã thử với "validatepage = false" và "" sau đó tôi đã cố gắng Server.HtmlEncode vì vậy nó là lưu html được mã hóa trong cơ sở dữ liệu. Bây giờ khi tôi hiển thị dữ liệu trong kiểm soát lặp lại bởi Server.HtmlDecode(DataContent.FieldValue("Contents", Container)) Nó đang hiển thị văn bản có thẻ html như <p>asfd</p> ..Thay thế của Html.Raw trong ASP.NET WebForms

cách tôi có thể giải quyết vấn đề này? Trong xem dao cạo Html.Raw hoạt động tốt nhưng những gì là thay thế trong xem webform/ASP.NET? Ai có thể giúp được không?

+2

tôi đã cố gắng rất nhiều nhưng tôi giải quyết nó bản thân mình :) <% # HttpUtility.HtmlDecode (Server.HtmlDecode (DataContent.FieldValue ("ContentBody", container)))%> –

+0

Vâng điều này làm việc cho tôi trong '' –

Trả lời

5

Bạn có thể sử dụng asp: Literal với Chế độ = passthrough

+0

cùng một kết quả?

+0

asp: listeral with passthrough là những gì làm việc cho tôi cuối cùng – Amal

+0

passthrough cho chiến thắng! '' với 'this.litError.Text =" Ví dụ liên kết Google Search ";' –

8

bạn có thể sử dụng <% = giá trị%> mà sẽ KHÔNG mã hóa các giá trị.

hoặc bạn có thể thực hiện phiên bản của riêng bạn HTML.Raw

Html.Raw trả về một thể hiện IHtmlString đó là gần như tương tự như chuỗi nhưng ASP.net không mã hóa IHtmlString.

chức năng đơn giản để sao chép HTML.Raw()

/// <summary> 
    /// Stops asp.net from encoding the source HTML string. 
    /// </summary> 
    /// <param name="source"></param> 
    /// <returns></returns> 
    public static IHtmlString HTMLRaw(string source) 
    { 
     return new HtmlString(source); 
    } 
Các vấn đề liên quan