有时我的文本框没有样式

时间:2012-01-28 16:37:56

标签: asp.net html css outputcache

我有这个非常奇怪的问题。我有一些文本框的设置,其定义如下:

<table style="width: 100%; position: relative; top: -10px;">
                <tr>
                    <td style="font-size: 9pt; text-align: left;">
                        <asp:TextBox ID="multiHandle2_1_BoundControl" BackColor="Transparent" BorderStyle="None"
                            Font-Size="9pt" runat="server" Width="30" Text="25" /><span style="position: relative;
                                left: -11px;">DKK</span>
                    </td>
                    <td style="font-size: 9pt; text-align: right; float: right;">
                        <asp:TextBox ID="multiHandle2_2_BoundControl" runat="server" Width="30" BackColor="Transparent"
                            BorderStyle="None" Font-Size="9pt" /><span style="position: relative; left: -5px;">DKK</span>
                    </td>
                </tr>
            </table>

现在,这几乎在任何时候都有效。但是,我使用输出缓存,我有几次看到我的网站,并且HTML被渲染错误。让我们看一下呈现的HTML。

当它被渲染错误时(大约95%的时间发生),它只是在我的文本框中删除以下内容:

BackColor="Transparent" BorderStyle="None"
                                Font-Size="9pt" Width="30" Text="25"

这真的很奇怪,因为我可以看到这种情况在大多数时候都得到了很好的应用。

当它工作时,它会像这样呈现

 <table style="width: 100%; position: relative; top: -10px;">
            <tr>
                <td style="font-size: 9pt; text-align: left;">
                    <input name="ctl00$ctl00$ContentPlaceHolder1$LeftSidebar$Filters1$multiHandle2_1_BoundControl" type="text" value="149" id="ContentPlaceHolder1_LeftSidebar_Filters1_multiHandle2_1_BoundControl" style="background-color:Transparent;border-style:None;font-size:9pt;width:30px;" /><span style="position: relative;
                            left: -11px;">DKK</span>
                </td>
                <td style="font-size: 9pt; text-align: right; float: right;">
                    <input name="ctl00$ctl00$ContentPlaceHolder1$LeftSidebar$Filters1$multiHandle2_2_BoundControl" type="text" value="249" id="ContentPlaceHolder1_LeftSidebar_Filters1_multiHandle2_2_BoundControl" style="background-color:Transparent;border-style:None;font-size:9pt;width:30px;" /><span style="position: relative; left: -5px;">DKK</span>
                </td>
            </tr>
        </table>

当它不起作用时,会像这样呈现(经常发生,但并非总是如此)。区别在于我输入的样式是GONE。

<table style="width: 100%; position: relative; top: -10px;">
            <tr>
                <td style="font-size: 9pt; text-align: left;">
                    <input name="ctl00$ctl00$ContentPlaceHolder1$LeftSidebar$Filters1$multiHandle2_1_BoundControl" type="text" value="13" id="ContentPlaceHolder1_LeftSidebar_Filters1_multiHandle2_1_BoundControl" /><span style="position: relative;
                            left: -11px;">DKK</span>
                </td>
                <td style="font-size: 9pt; text-align: right; float: right;">
                    <input name="ctl00$ctl00$ContentPlaceHolder1$LeftSidebar$Filters1$multiHandle2_2_BoundControl" type="text" value="249" id="ContentPlaceHolder1_LeftSidebar_Filters1_multiHandle2_2_BoundControl" /><span style="position: relative; left: -5px;">DKK</span>
                </td>
            </tr>

        </table>

SO ...... ASP.NET - 发生了什么?这非常烦人;-)

1 个答案:

答案 0 :(得分:0)

正如你写的那样奇怪而且我确定“非常讨厌”......我不知道为什么会这样,但你可以通过正确使用css来解决它。

不是在元素上编写样式,而是只给它class,并将该类的样式定义放在你的css文件中。