PDA

View Full Version : سوال: مشکل در نشان دادن یک متن دارای Enter در Lable دریک وب فرم Asp.Net



jojo_abadani7
شنبه 09 مرداد 1389, 19:06 عصر
سلام.
من می خواهم در یک وب فرم یک متن دارای Enter را از دیتا بیس خوانده و درون یک Lable نشان دهم ولی در lable بدون enter و پشت سر هم نشان می دهد در صورتی که همان متن در text box که multiline باشد به صورت درست نمایش می دهد.ایا می شود در یک lable یک متن دارای enter را نشان داد؟

raziee
شنبه 09 مرداد 1389, 19:22 عصر
سلام.
من می خواهم در یک وب فرم یک متن دارای Enter را از دیتا بیس خوانده و درون یک Lable نشان دهم ولی در lable بدون enter و پشت سر هم نشان می دهد در صورتی که همان متن در text box که multiline باشد به صورت درست نمایش می دهد.ایا می شود در یک lable یک متن دارای enter را نشان داد؟

کاراکتری که در TextBox برای رفتن به سطر بعدی هست کاراکتر n\ هست.
اگه شما همون متن رو در DB ذخیره کنید و بخواهید در یک Lable نمایش بدید به عنوان یک کاراکتر نامرئی باهاش برخورد میکنه و نه یک خط جدید.
این کاراکتر رو با </br> جایگزین کنید.

Replace("\n", "<br/>");

salehbagheri
شنبه 09 مرداد 1389, 20:17 عصر
معادل n\ در ویژوال بیسیک Environment.NewLine هست.

در صورتی که از ویژوال بیسیک استفاده میکنید باید به این صورت بنویسید:


YourText.Replace(Environment.NewLine, "<br />")

jojo_abadani7
شنبه 09 مرداد 1389, 21:16 عصر
کاراکتری که در TextBox برای رفتن به سطر بعدی هست کاراکتر n\ هست.
اگه شما همون متن رو در DB ذخیره کنید و بخواهید در یک Lable نمایش بدید به عنوان یک کاراکتر نامرئی باهاش برخورد میکنه و نه یک خط جدید.
این کاراکتر رو با </br> جایگزین کنید.

Replace("\n", "<br/>");
این تغییراتی که میگید کجا باید اعمال کنیم؟از زبان c# در asp.net استفاده میکنم

salehbagheri
شنبه 09 مرداد 1389, 21:42 عصر
هنگام فراخوانی از دیتابیس این کار رو انجام بدید و سپس در Lable نمایش دهید.

Mostafa_Dindar
شنبه 09 مرداد 1389, 22:18 عصر
سلام.
من می خواهم در یک وب فرم یک متن دارای Enter را از دیتا بیس خوانده و درون یک Lable نشان دهم ولی در lable بدون enter و پشت سر هم نشان می دهد در صورتی که همان متن در text box که multiline باشد به صورت درست نمایش می دهد.ایا می شود در یک lable یک متن دارای enter را نشان داد؟

میتونید از این دو متد کمکی استفاده کنید :



/// <summary>
/// Converts the input plain-text to HTML version, replacing carriage returns
/// and spaces with <br /> and &nbsp;
/// </summary>
public static string ConvertToHtml(string content)
{
content = HttpUtility.HtmlEncode(content);
if (content != null)
content = content.Replace(" ", "&nbsp;&nbsp;").Replace(
"\t", "&nbsp;&nbsp;&nbsp;").Replace("\n", "<br>");
return content;
}

/// <summary>
/// Do a job just like httpUtility..HtmlDecode
/// </summary>
/// <param name="rawText">The Object you wanna decode</param>
/// <returns>a string</returns>
public static string decodeText(Object rawText)
{
string txtObject = Convert.ToString(rawText);
if (!string.IsNullOrEmpty(txtObject))
return HttpUtility.HtmlDecode(txtObject);
return null;
}