PDA

View Full Version : پیش پردازش داده ها قبل از نمایش در دیتاگرید یا کنترل دیگر؟



مهدی کرامتی
چهارشنبه 02 دی 1383, 08:34 صبح
با سلام.

چگونه میتوان قبل از نمایش داده های خوانده شده از یک دیتابیس به یک دیتاست آنها را تغییر داده و سپس در کنترل مربوطه مانند دیتاگرید و یا ... نمایش داد؟

مسئله بدین صورت است که لازم است متن وارد شده توسط کاربر حاوی کدهای ویژه ای (مانندا BBCODE) باشد و این کدها قبل از نمایش میبایست تبدیل به کد قابل فهم برای Browser ها (HTML) تبدیل شوند.

امیدوارم منظورم را خوب بیان کرده باشم.

Vahid_Nasiri
چهارشنبه 02 دی 1383, 09:24 صبح
بله! :wise1:
اگر ستون تمپلیت اضافه کرده اید یک تابع Public در کدبیهایند صفحه تعریف کنید مانند کد زیر:

public string formatTopic(object dataBinderEval)
{
.
.
.

سپس لیبلی که باید کار نمایش را انجام دهد به صورت زیر می شود:


<asp:Label id=Label4 runat="server" Text='<%# formatTopic(DataBinder.Eval(((DataGridItem)Contain er).DataItem, "topic_desc")) %>'>


یعنی اینکه قبل از نمایش محتویات دریافت شده و به تابع فرستاده می شود. در تابع پردازش شده و رشته نهایی نمایش داده خواهد شد.
(فقط کافی است در تابع کدهای BB را به معادلهای HTML با دستوری مانند Replace تبدیل کنید)

مهدی کرامتی
چهارشنبه 02 دی 1383, 17:23 عصر
با تشکر فراوان :flower:

میرم که تستش کنم.