我有一個GridView控件(呈現給table,tr,td)帶有一些BoundFields和TemplateFields。本質上,我顯示了兩列,即應用程序名稱和註釋(作爲文本框),並且我想要35%,65%的相對寬度。這裏是我的asp.net標記:表格內的文本框增長超過100%寬度(僅IE)
<asp:GridView ID="gridRequestedApps" DataSourceID="llbRequestedApplications" runat="server"
AutoGenerateColumns="False"
DataKeyNames="ComputerID, RequestID"
EnableViewState="False"
cssclass="xGridview">
<Columns>
<asp:BoundField DataField="ComputerID" HeaderText="ID" SortExpression="ComputerID" Visible="False" />
<asp:BoundField DataField="RequestID" HeaderText="ID" SortExpression="RequestID" Visible="False" />
<asp:TemplateField HeaderText="Application Name" ItemStyle-Width="35%" ItemStyle-Wrap="false">
<ItemTemplate><asp:TextBox ID="ApplicationName" runat="server" Text='<%# Bind("ApplicationName") %>' CssClass="input_text"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Notes" ItemStyle-Width="65%">
<ItemTemplate>
<div style="width:100%; overflow:hidden">
<asp:TextBox ID="UserNotes" runat="server" Text='<%# Bind("UserNotes") %>' CssClass="input_text" style="overflow:hidden"></asp:TextBox>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
現在在一個點(比上面所示略有不同的HTML),我也有工作在35/65相對寬度。但是,我注意到,如果我將長文本放入文本框中,它會橫向延伸其包含寬度超過100%的表格。 (這是在IE7 ....在Firefox中,溢出:隱藏似乎工作)。因此,我開始搞亂CSS以嘗試修復IE中的錯誤,但現在,它不僅仍然溢出,而且我的列寬不再遵守36/65設置。
非常感謝您的鏈接... table-layout:固然似乎已經做了些什麼...所以現在似乎大部分的文本框本身是隱藏的,而不是隱藏包含的文本本身最初進入時的行爲)......所以看起來這可能是在正確的道路上邁出的第一步。我仍然想調查蠻力的方式,因爲它看起來更不安全,儘管不推薦。 :) – tbone 2009-08-06 19:50:05
所以它似乎修復了溢出問題,但列寬仍然不起作用。上帝我愛CSS! – tbone 2009-08-06 20:00:34
這個頁面是否可以在任何我可以混淆的地方生存?即使是HTML而不是直播網站的快照也沒問題。 – Matchu 2009-08-06 20:05:34