2014-10-15 3 views
1

asp.net을 처음 사용하여 데이터를 Bulleted list에 표시하고 싶습니다. 다음 Foreach 루프를 사용하여 항목을 가져오고 asp.net의 Bulleted list에 표시하려고합니다.asp.net에서 글 머리 기호 목록에 데이터를 표시하는 방법?

Result.aspx.cs

foreach (XmlElement statement1 in node2statements.ChildNodes) 
{ 
var st = statement1.InnerText.ToString();      
} 

Result.aspx

<ul id="section1"> 
<li> 
</li> 
</ul> 

답변

1

xml 파일의 데이터를 bulletedList에 바인딩하는 방법을 보여주기 위해 작은 예제를 작성했습니다. 나는 XmlDataSource 개체를 사용했다. 우선은

<?xml version="1.0" encoding="utf-8" ?> 
<list> 
    <product id="123"> 
    <name>product a</name> 
    <price>123.45</price> 
    </product> 
    <product id="123"> 
    <name>product b</name> 
    <price>123.45</price> 
    </product> 
</list> 

xml 파일

products.xml을 사용하고 난 파일 변환 을 생성 -로만 컨트롤에 액세스가가 능 속성을. 신용

이 ... 당신을 방지 XmlDataSource에서 문제를 XML 노드의 값에 바인딩 할 수 있다는 지적에 대해 Darin Dimitrov로 이동합니다. 첫 번째 페이지
내에서 사용하는 방법을 보여줍니다 - 그것은 속성

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="list"> 
    <list> 
     <xsl:apply-templates select="product"/> 
    </list> 
    </xsl:template> 
    <xsl:template match="product"> 
    <product> 
     <xsl:attribute name="id"> 
     <xsl:value-of select="@id"/> 
     </xsl:attribute> 
     <xsl:attribute name="name"> 
     <xsl:value-of select="name"/> 
     </xsl:attribute> 
     <xsl:attribute name="price"> 
     <xsl:value-of select="price"/> 
     </xsl:attribute> 
    </product> 
    </xsl:template> 
</xsl:stylesheet> 

그런 다음 나는 두 가지 예를 한 경우에만

transform.xsl와 함께 작동합니다.

<form id="form1" runat="server"> 
    <div> 
     <h3>Bulleted List with XML binding</h3> 
     <asp:BulletedList ID="blPageOnly" runat="server" DataValueField="id" DataTextField="name" DataSourceID="xmlSource"></asp:BulletedList> 
     <asp:XmlDataSource ID="xmlSource" runat="server" DataFile="~/app_data/products.xml" TransformFile="~/app_data/transform.xsl" XPath="list/product"></asp:XmlDataSource> 
    </div> 
    <div> 
     <h3>Bulleted List with XML binding - code behind</h3> 
     <asp:BulletedList ID="blCodeBehind" runat="server"></asp:BulletedList> 
    </div> 
</form> 

두 번째는 당신이 당신을 도와 내 코드를 적용 할 수 있기를 바랍니다

BulletedList databinding with XmlDataSource

가 발생합니다

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     XmlDataSource xmlSource = new XmlDataSource() 
     { 
      DataFile = "~/app_data/products.xml", 
      XPath="list/product", 
      TransformFile = "~/app_data/transform.xsl" 
     }; 

     blCodeBehind.DataSource = xmlSource; 
     blCodeBehind.DataTextField = "name"; 
     blCodeBehind.DataValueField = "id"; 

     blCodeBehind.DataBind(); 
    } 
} 

뒤에 코드에서 어떻게 바인드 XML 파일을 보여줍니다 !

0

만들기 ASP를 사용 : 리피터 및 항목 내부에 자식 노드

와 바인딩 UL과 LI를 정의하고 statement1에 할당 할 수있는 리피터 템플릿

+0

미안하지만 바보 같은 질문을 할 수는 있지만 어떻게 Childnodes와 바인드 중계기를 말할 수 있습니까? –

+0

당신은 주위에 Google하려고해야합니다. 나는 당신에게 당신이 필요로하는 형식의 종류를 위해 확실히 작동 할 수있는 방법을 제안했습니다. –

관련 문제