Как мне манипулировать строкой / dataitem в моем Listview? - PullRequest
0 голосов
/ 22 ноября 2011

Вот как я показываю строку в списке:

<%# Eval("Description")%>

Это код метода для получения данных для просмотра списка:

lstBlog.DataSource = blg;

        lstBlog.DataBind();

Как я могу манипулировать строкой "Description" ... т.е. получать только первые 50 символов / убирать из строки любые html-теги .......

Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

На странице aspx вы можете напрямую принимать строковую часть, как показано ниже:

<%# Convert.ToString(Eval("Description")).Substring(0, 50) %>

"ИЛИ"

На странице aspx и создайте событие ItemDataBound для ListView

<asp:Label ID="lblDescription" runat="server" Text=""></asp:Label>

В коде позади создайте ItemDataBound

protected void lvData_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        Blog blg = (Blog)e.Item.DataItem;
        Label lblDescription = (Label)e.Item.FindControl("lblDescription");
        lblDescription.Text = blg.Description.Substring(0, 50);
    }
}

Чтобы избавиться от тегов HTML, смотрите здесь: http://www.dotnetperls.com/remove-html-tags

0 голосов
/ 22 ноября 2011

на странице aspx

<%# CutString(Eval("Description").ToString(),50) %>

в CS

public string CutString(string value , int len)
{
       // ....
}
...