سلام
من پروه ام mvc 6 هست Antixss رو هم نصب کردم از طریق Nuget نصب کردم
ادیتورمم Kendo هست
یه مشکلی که هست اینه که وقتی از کد زیر استفاده می کنم متاسفانه تگ های style رو هم پاک میکنه
entity.Article_ShortDescription = Sanitizer.GetSafeHtml(entity.Article_ShortDescription);
مگه نباید GetSafeHtml کدهای script رو پاک کنه؟
متاسفانه این مشکل رو توو mvc 6 دارم دقیقاً من روش رو برای ورژن های پایین مثل mvc4 کار کردم هیچ مشکلی نداشت
دوستان حرفه ایی راهنماییم کنید
یه پروژه ی حیاتی دارم ممنونم از راهنماییتون
از کد زیر استفاده کنید
امیدوارم مشکل حل بشه
Sanitizer.GetSafeHtmlFragment("<b>hello2</b><script>")
آقای مدائنی حل نشد یعنی یخ مشکل دیگه هست
این کد Editor ام هست
@(Html.Kendo().EditorFor(model => model.Gallery_Text) .Name("Gallery_Text") .Encode(false) .Tools(tools => tools.Clear() .Bold().Italic().Underline().Strikethrough() .FontName().FontSize().FontColor().BackColor() .JustifyLeft().JustifyCenter().JustifyRight().JustifyFull() .InsertUnorderedList().InsertOrderedList() .CreateLink().Unlink() ) )
ببینید وقتی Encode رو حذف می کنم درست میشه یعنی فقط تگ های script حذف میشه اما میخوام مثلاً توو ویرایش اون متن رو دوباره توو ادیتور نشون بدم کد html نشون میده شکل زیر بدون encode هست
این مشکل رو چطوری حل کنم میدونم فقط شما میدونید
ممنونم
دوست عزیز در controller قبل از این که شی رو به view پاس بدید به صورت زیر عمل کنید
Gallery.Gallery_Text = HttpUtility.HtmlDecode(Gallery.Gallery_Text);
آقای ایمان زاده ممنون جواب داد
فقط یه سوال دیگه من میخوام مثلاً دو کلمه از متن رو در ستون kendo grid نشون بده و بقیه اش ... باشه اما مشکل اینه میگم مثلاً 20 کاراکتر بخوونه چون کد html هست ممکن هست وسط تگ باشه و جواب نمیده شما راه حلی ندارید؟
متوجه منظورم شدید؟
دوست عزیز برای این کار فقط میشه تعدادی از کاراکتر های اولیه رو خوند و نمایش داد مثلا در کد زیر من 20 کاراکتر رو میخونم حالا شما بسته به نیازتون تعداد کاراکتر ها رو تغییر بدید
columns.Bound(model => model.Gallery_Text).Template(@<text> <span>@(item.Gallery_Text.Length < 20 ? item.Gallery_Text.Substring(0,19) ? item.Gallery_Text.Substring(0,item.Gallery_Text.Length -1) ) ...</span> </text>);
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)