2013-11-21 2 views
0

Скажем, у меня есть данные должностей с атрибутами Название и содержание
Теперь я хочу, чтобы отобразить Заголовок в h1 и содержания в р
как я использую для/во время цикла. для создания этих меток с помощью C# Asp.net
Так его как этот
заголовков и абзацы в ASP.Net с использованием C#

Заголовок1

Content

Заголовок 2

содержание снова

и продолжает идти .. ??

ответ

0

Я не уверен, что понял, но вы имеете в виду, что вы получаете какие-то данные, и вы хотите отобразить таким образом? Вероятно, вы должны использовать Listview, определяя ItemTemplate внутри него и присваивая данные свойству DataSource.

Например, в вашем файле .aspx

<asp:ListView ID="LvPost" runat="server" OnItemDataBound="LvPost_ItemDataBound"> 
    <ItemTemplate> 
    <h1><asp:Literal id="title" runat="server"></h1> 
    <p><asp:Literal id="content" runat="server"></p> 
    </ItemTemplate> 
</asp:ListView> 

Затем в методе LvPost_ItemDataBound что-то вроде

var postItem= e.Item.DataItem as YourPostClass; 
var h1Text = e.Item.FindControl("title") as Literal; 
var pText= e.Item.FindControl("content") as Literal; 
h1Text.Text=postItem.Title; 
pText.Text = postItem.Content; 

Наконец, не забудьте связать данные в ListView, (например, : в PageLoad)

LvPost.DataSource = <List of YourPostClass>; 
0

Я точно не знаю, как у вас есть данные, но что-то вроде этого может работать. Поместите буквальный на странице, где вы хотите, чтобы данные появляются, а затем использовать такой код:

string[] headings = {"Heading 1", "Heading 2", "Heading 3"}; 
string[] paragraphs = {"Content", "content again","Content even again!"}; 

literal1.Text = ""; 
for (int i=0; i<headings.Length;i++) 
{ 
    literal1.Text = string.Format("{0}<h1>{1}</h1><p>{2}</p>{3}", literal1.Text, HttpServerUtility.HtmlEncode(headings[i]), HttpServerUtility.HtmlEncode(paragraphs[i]), Environment.Newline); 
} 

Обратите внимание, что я использую HttpServerUtility.HtmlEncode для кодирования строки. . Если вы хотите, чтобы включить HTML-разметку внутри содержимого (например, если paragraphs[0] == "<b>Content</b> «), а затем удалить этот метод

Если вы предпочитаете List<T> и контейнерный класс вместо, этот код может быть более подходящим:

private class Content 
{ 
    public string Heading { get; set; }; 
    public string Paragraph { get; set; }; 
} 

private List<Content> _content = new List<Content>(); 

private void CreateContent() 
{ 
    _content.Add(new Content {Heading = "Heading 1", Paragraph = "Content"}); 
    _content.Add(new Content {Heading = "Heading 2", Paragraph = "More Content"}); 
    _content.Add(new Content {Heading = "Heading 3", Paragraph = "Even More Content"}); 

    literal1.Text = ""; 
    foreach (Content c in _content) 
    { 
     literal1.Text = string.Format("{0}<h1>{1}</h1><p>{2}</p>{3}", literal1.Text, HttpServerUtility.HtmlEncode(c.Heading), HttpServerUtility.HtmlEncode(c.Paragraph), Environment.Newline); 
    } 
} 
Смежные вопросы