1

当我定义了一个新的资源文件时,我遇到了 HeaderText 没有被翻译的问题。所有其他文本都翻译但不是 HeaderText,即使是 TemplateField.HeaderText 也被翻译了。

<asp:GridView ID="GridView1" runat="server"
    PageSize="25" GridLines="None" 
    AutoGenerateColumns="False" Width="100%" 
    meta:resourcekey="GridView1Resource1">
    <AlternatingRowStyle CssClass="alt" />
    <Columns>
        <asp:BoundField DataField="Title" HeaderText="Title" 
            meta:resourcekey="BoundFieldResource1" />
        <asp:BoundField DataField="Created" HeaderText="Skapad" 
            meta:resourcekey="BoundFieldResource2" />
        <asp:BoundField DataField="CreatedBy" HeaderText="Skapad av" 
            meta:resourcekey="BoundFieldResource3" />
        <asp:TemplateField HeaderText="Till" meta:resourcekey="TemplateFieldResource1">
            <ItemTemplate>
                <asp:Label ID="lblTo" runat="server" Text="Till" 
                    meta:resourcekey="lblToResource1" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField meta:resourcekey="TemplateFieldResource2">
            <ItemTemplate>
                <asp:HyperLink ID="hplPopup" runat="server" Text="Öppna" 
                    meta:resourcekey="hplPopupResource1"></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <FooterStyle CssClass="foot" />
    <PagerStyle CssClass="pager" />
    <SelectedRowStyle CssClass="selected" />
</asp:GridView>
4

2 回答 2

2

您可以这样做,其中TitleHeaderText将是资源的名称(示例代码,未经测试):

<asp:BoundField DataField="Title" HeaderText="<%$ Resources:TitleHeaderText %>" 
        meta:resourcekey="BoundFieldResource1" />

这里解释一下如何访问网页资源。

于 2009-08-31T16:24:34.403 回答
0

问题可能不在您的代码中,而在您的“.resx”文件中。

“TemplateField”不包含属性“.Text”,它包含“.HeaderText”属性,与最常见的“.resx”引用相反,该引用仅引用标签和其他包含 Text="MyText" 属性的元素

例如!

yourResxReference.Text<-- 必须是 -->yourResxReference.HeaderText

这是来自实际代码的示例

txtEmployeesToRemoveListCommentResource1.ToolTip 

应该

txtEmployeesToRemoveListCommentResource1.HeaderText
于 2018-02-05T18:52:57.750 回答