3

コードビハインド関数を使用して設定したい HeaderText プロパティを持つ TabPanel があります。

<asp:TabPanel ID="id" runat="server" HeaderText='<%= String.Format("{0}","some text") %>'>  

TabPanel であるため、開始タグと終了タグの間に関数呼び出しを配置することはできませんが、上記を実行すると、ページに空のヘッダーが表示されます。<%# %> も試しました (2 つの違いはよくわかりません)。

String.Format は単なる例であり、私が呼び出そうとしている実際の関数ではありません。

4

2 に答える 2

2

一部の属性がインライン構文をサポートしていないことは知っていますが、残念ながらこれはその 1 つかもしれません。構文は問題ないように見えるので、そうかもしれないと思います。この問題を回避するには、HeaderTextin コード ビハインドを設定します。

<%= ... %>との違いについては<%# ... %>、後者は厳密にデータバインディング構文に使用されます。

<Columns>
    <asp:TemplateField>
        <ItemTemplate>
            <%# Eval("SomeValue") %>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

編集

実は今まで思いつかなかったもっと簡単な方法があります。を使用しHeaderTemplateて、列ヘッダー テキストを動的に設定します。

<Columns>
    <asp:TemplateField>
        <HeaderTemplate>
            <%# Eval("SomeHeaderValue") %>
        </HeaderTemplate>
        <ItemTemplate>
            <%# Eval("SomeValue") %>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>    
于 2012-05-11T18:47:32.420 に答える
0

試す:

HeaderText='<%# TabPanel_HeaderText %>'

コードビハインドで

protected string TabPanel_HeaderText
{
    get { return String.Format("{0}","some text"); }
}
于 2012-05-11T18:46:49.897 に答える