2

所以这是我第一次尝试在 asp.NET 中使用皮肤。我发现这个概念相当简单——至少我是这么认为的。

我的 .skin 文件如下所示:

<asp:TextBox runat="server" CssClass="textBox"></TextBox>

<asp:Button runat="server" CssClass="button"></asp:Button>

<asp:GridView runat="server" Font-Underline="False" CssClass="noborder"
    AllowPaging="true" AutoGenerateColumns="false" Width="100%" PagerStyle-CssClass="pagingrow"
    PagerSettings-Mode="NextPreviousFirstLast" PagerSettings-NextPageText="Next"
    PagerSettings-PreviousPageText="Prev"  PagerSettings-FirstPageText="First"
    PagerSettings-LastPageText="Last" AllowSorting="true"
    HeaderStyle-CssClass="headerrow" RowStyle-CssClass="itemrow" AlternatingRowStyle-CssClass="altrow">
    <EmptyDataTemplate>
        <asp:Label runat="server" ID="lblNoData" Text="No data matches your request."></asp:Label>
    </EmptyDataTemplate>
</asp:GridView>

显然我在这里做错了,因为我不断收到以下错误:

'asp:TextBox' 的 'Text' 属性不允许子对象。

引用我为文本框设置皮肤的 .skin 文件中的行。

我无法开始思考这个问题可能是什么,因为任何地方(还)都没有使用我的任何文本框文本属性......那么这里出了什么问题?

4

1 回答 1

4

我相信,由于您在 TextBox 结束标记中有错字,ASP.NET 引擎将文本框旁边的所有控件视为默认 Text 属性的子项

解决这个问题:<asp:TextBox runat="server" CssClass="textBox"></TextBox>

应该:<asp:TextBox runat="server" CssClass="textBox"></asp:TextBox>

于 2013-02-19T07:36:24.643 回答