PDA

View Full Version : چه جوری باید یه تعداد کاراکتر خاص رو نشون بدم



marjan_gh
شنبه 02 دی 1391, 13:37 عصر
من می خوام اخبارم رو با عنوان و مقداری از کارکتر های متن خبر نشون بدم زبان مورد استفادمم vb.net هست اگه ممکنه کمک کنید

aserfg
شنبه 02 دی 1391, 13:40 عصر
بهترین راه تعریف یک فیلد برای نگهداری خلاصه خبر است .
راه دوم استفاده از regular-expressions

(http://www.google.com/url?sa=t&rct=j&q=expression+character&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.regular-expressions.info%2Fcharacters.html&ei=V47VUIuMEMrPsga-1IDYAQ&usg=AFQjCNG5lkdJAwcc4CViqnZ5ZFcseD8XbQ&bvm=bv.1355534169,d.Yms&cad=rja)

marjan_gh
شنبه 02 دی 1391, 13:44 عصر
نمی تونم دیتا بیس رو تغییر بدم پروسه ی خیلی طولانی هست ولی اون یکیو اگه ممکنه یکم بیشتر توضیح بدین

marjan_gh
شنبه 02 دی 1391, 13:49 عصر
مطمئنم با یه خط کد می شه این کار رو انجام داد!

aserfg
شنبه 02 دی 1391, 20:32 عصر
درصورتی که فاقد تگهای html است :

protected string getabstract(string articleContext)
{
if (articleContext.Length > 350)
articleContext = articleContext.Substring(0, 350);
articleContext += "...";

return articleContext;
}
اگه تگهای html داره :

protected string GetarticleContext(string articleContext)
{
string pattern = @"<[^>]*>"; //<.*?>


string temp = articleContext;
string context=Regex.Replace(temp, pattern, string.Empty);
context=context.Trim();


if (context.Length > 350)
context = context.Substring(0,350);
context += "...";

return context;
}

marjan_gh
شنبه 02 دی 1391, 20:40 عصر
ببینید فک می کنم یه دستور با vb.net هست که می تونه این کار رو انجام می ده مثه
write(50,str)

Mohamad1362
شنبه 02 دی 1391, 22:20 عصر
اگه داری از DataList یا Repeater استفاده میکنی روش کار به این صورت هست :
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataRowView row;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (row["NewsText"].ToString().Length > 100)
{
Label LTemp = (Label)e.Item.FindControl("lblnewsText");
LTemp.Text = row["NewsText"].ToString().Substring(0, 100) + "...";
}
}
}
NewsText اسم فیلدی از جدوله که متن اخبار داخلش تعریف شده ، lblnewsText هم یه کنترل label داخل DataList که به NewsText مقید شده

marjan_gh
شنبه 02 دی 1391, 22:33 عصر
از گرید ویو می گیرمش

Mohamad1362
یک شنبه 03 دی 1391, 12:33 عصر
از گرید ویو می گیرمش
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView row;
row = (DataRowView)e.Row.DataItem;
if (row["NewsText"].ToString().Length > 100)
{
Label LTemp = (Label)e.Row.FindControl("lblnewsText");
LTemp.Text = row["NewsText"].ToString().Substring(0, 100) + "...";
}
}
}فقط یادت باشه کنترل lblnewsText رو داخل TemplateField بذاری

marjan_gh
یک شنبه 03 دی 1391, 21:48 عصر
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView row;
row = (DataRowView)e.Row.DataItem;
if (row["NewsText"].ToString().Length > 100)
{
Label LTemp = (Label)e.Row.FindControl("lblnewsText");
LTemp.Text = row["NewsText"].ToString().Substring(0, 100) + "...";
}
}
}فقط یادت باشه کنترل lblnewsText رو داخل TemplateField بذاری
من خیلی نفهمیدم می شه یکم بیشتر توضیح بدین؟

Mohamad1362
دوشنبه 04 دی 1391, 09:51 صبح
من خیلی نفهمیدم می شه یکم بیشتر توضیح بدین؟ کجاشو نفهمیدی ؟ بگو تا برات توضیح بدم ؟