0

このXMLファイルで-

<Instructions>
  <Admin>
  <Instruction>
    Steps must be completed in order.&lt;/br&gt;
    1. Set dates&lt;/br&gt;
    2. Import.&lt;/br&gt;
    3. Generate.&lt;/br&gt;
  </Instruction>
  <Style>
    <padding-left value="50px"/>
    <padding-right value="0px"/>
  </Style>
  </Admin>
</Instructions>

そしてこのコード-

    public void LoadInstructions(String instructionKey) {
        XmlNode instLabel = mPropsDoc.SelectSingleNode("ApplicationProperties/Instructions/Admin/Instruction");
        XmlNode instStyle = mPropsDoc.SelectSingleNode("ApplicationProperties/Instructions/Admin/Style");
        Label ctlInst = new Label();
        ctlInst.Text = instLabel.InnerText;

        foreach (XmlElement styles in instStyle.ChildNodes) {
            ctlInst.Style.Add(styles.Name, styles.Attributes["value"].Value);
        }

        PageContent.Controls.AddAt(0, ctlInst);
    }

ここで、PageContentは私のページのContentPlaceHolderです。

スタイルは最初の要素にのみ適用され、コントロールはスパンコントロールとしてレンダリングされます。

ラベルとしてレンダリングされないのはなぜですか?また、スタイルが最初の行にのみ適用されるのはなぜですか?

4

2 に答える 2

1

フォーマットを確認したい場合は、CDATA要素に取り込む必要があります

<Instruction>
<![CDATA[Steps must be completed in order</br>
               1. Set dates</br>
               2. Import</br>     
               3. Generate</br>]]>
</Instruction>

そうは言っても、私はこのロットをマークアップし、必要に応じてプレゼンテーションを作成します。これは引き続きPIAです。

于 2012-06-13T16:23:25.280 に答える
0

私が覚えている限り、System.Web.UI.Label要素(使用していると思います)は常に<span>としてレンダリングされます。<label>を作成するには、System.Web.UI.HtmlGenericControl( "label")が必要です。

于 2012-06-13T16:32:36.350 に答える