Một giải pháp dễ dàng mà không làm thay đổi:
tôi cần phải áp dụng một phong cách cho div tạo ra bởi các GridView vì nó phá vỡ bố cục của tôi, vì vậy tôi đã tạo ra một div với id "myContainerDiv" và chuyển GridView của tôi vào nó và sử dụng jQuery tôi áp dụng một số kiểu.
Ví dụ:
$("#myContainerDiv > div").css("display", "inline");
tôi đặt javascript này trong $ (document) .ready (function ({})) ;. Nhưng nếu bạn sử dụng UpdatePanel, như tôi phải sử dụng trong trường hợp cụ thể này, tôi thực thi $(). Css() này trong mọi postback async. Nếu không có phong cách đó sẽ bị mất nếu bạn thực hiện một số updatepanel nơi gridview của bạn được chứa. Nhưng tôi thực hiện $ này() css() chỉ khi một UpdatePanel đặc biệt là bắn (không cần phải thực hiện hướng dẫn này javascript trong mỗi mỗi mỗi postback async)
Ví dụ:.
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
if (args.get_error() == undefined && sender._updatePanelClientIDs != null &&
sender._updatePanelClientIDs.length > 0 && sender._updatePanelClientIDs[0] == "<%= MyParticularUpdatePanel.ClientID %>") {
$("#myContainerDiv > div").css("display", "inline");
}
}
</script>
giải quyết!
Toàn bộ trang sẽ trông như thế:
<script type="text/javascrcipt" src="jquery.js"></script>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
if (args.get_error() == undefined && sender._updatePanelClientIDs != null &&
sender._updatePanelClientIDs.length > 0 && sender._updatePanelClientIDs[0] == "<%= MyParticularUpdatePanel.ClientID %>") {
$("#myContainerDiv > div").css("display", "inline");
}
}
</script>
<asp:UpdatePanel runat="server" ID="MyParticularUpdatePanel" UpdateMode="Conditional" RenderMode="Inline">
<Triggers>
// Your triggers here...
</Triggers>
<ContentTemplate>
<div id="myContainerDiv" style="display:inline;">
<asp:GridView runat="server" ID="MyGridView" AutoGenerateColumns="false" Height="150px" EmptyDataText="No data.">
<Columns>
<asp:BoundField DataField="ID" HeaderText="My ID" />
</Columns>
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
Tôi không biết nếu mã này sẽ biên dịch chính xác như tôi đã viết vì tôi đã viết nó bằng notepad.
Xin lỗi vì tiếng anh nghèo của tôi, tôi đến từ Braxin.
Christophe Trevisani Chavey. http://www.christophetrevisani.com
Nguồn
2011-02-16 23:12:44
"div trống có chứa một GridView" - tee hee ;-D –
haha, bạn nói đúng, mà làm cho không có ý nghĩa gì cả – angelo
Tôi cũng vậy trong tình huống tương tự mà không có giải pháp –