آبجی
14th February 2010, 05:06 PM
FCKEditor ادیتور خوبی هست که مختص زبان خاصی نیست و در هر زبان برنامه نویسی تحت وبی میشه ازش استفاده کرد…
در ASP.NET اگر این ادیتور رو در UpdatePanel قرار بدید، هنگام PostBack مقدارش رو از دست میده و این به خاطر این هست که متد UpdateLinkedField کنترل FCKEditor که متن موجود در این ادیتور رو جهت ارسال در یک فیلد مخفی قرار میده به طور خودکار فراخوانی نمیشه. در نتیجه میتونید با شبیه سازی فراخوانی این متد به صورت دستی در زمان ارسال فرم مشکل رو برطرف کنید.
تابع جاوا اسکریپت ذیل رو در یک فایل js قرار بدید و با تگ script در تگ head اون رو در صفحه قرار بدید:
function FCKUpdateLinkedField(id)
{
try
{
if(typeof(FCKeditorAPI) == “object”)
{
FCKeditorAPI.GetInstance(id).UpdateLinkedField();
}
}
catch(err)
{
}
}
با متد RegisterOnSubmitStatement در سمت سرور نیز میتونید تابع بالا رو به روال onsubmit فرم الصاق کنید:
private void Page_Load(object sender, EventArgs args)
{
Page.ClientScript.RegisterOnSubmitStatement(
editor.GetType(),
“editor”,
“FCKUpdateLinkedField(’” + editor.ClientID + “‘);”);
}
در کد بالا منظور از editor نام FCKEditor شماست.
در ASP.NET اگر این ادیتور رو در UpdatePanel قرار بدید، هنگام PostBack مقدارش رو از دست میده و این به خاطر این هست که متد UpdateLinkedField کنترل FCKEditor که متن موجود در این ادیتور رو جهت ارسال در یک فیلد مخفی قرار میده به طور خودکار فراخوانی نمیشه. در نتیجه میتونید با شبیه سازی فراخوانی این متد به صورت دستی در زمان ارسال فرم مشکل رو برطرف کنید.
تابع جاوا اسکریپت ذیل رو در یک فایل js قرار بدید و با تگ script در تگ head اون رو در صفحه قرار بدید:
function FCKUpdateLinkedField(id)
{
try
{
if(typeof(FCKeditorAPI) == “object”)
{
FCKeditorAPI.GetInstance(id).UpdateLinkedField();
}
}
catch(err)
{
}
}
با متد RegisterOnSubmitStatement در سمت سرور نیز میتونید تابع بالا رو به روال onsubmit فرم الصاق کنید:
private void Page_Load(object sender, EventArgs args)
{
Page.ClientScript.RegisterOnSubmitStatement(
editor.GetType(),
“editor”,
“FCKUpdateLinkedField(’” + editor.ClientID + “‘);”);
}
در کد بالا منظور از editor نام FCKEditor شماست.