Łatwym rozwiązaniem bez renderowania modyfikacji:
muszę zastosować styl do div generowanego przez GridView, ponieważ łamie mi układ, więc stworzyłem div z id „myContainerDiv” i przeniósł mojego GridView do niego i przy użyciu jQuery stosuję niektóre style.
przykład:
$("#myContainerDiv > div").css("display", "inline");
Ja to JavaScript $ (dokument) .ready (funkcja ({})) ;. Ale jeśli używasz UpdatePanel, tak jak muszę użyć w tym konkretnym przypadku, wykonuję tę $(). Css() w każdym asynchronicznym ogłaszaniu zwrotnym. Bez tego styl zostanie utracony, jeśli wykonasz aktualizację, w której znajduje się gridview. Ale wykonać to $() css() tylko wtedy, gdy dana UpdatePanel jest zwolniony (nie ma potrzeby wykonywania tej instrukcji javascript w każdym każdym każdym async odświeżenie strony)
. Przykład:
<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>
rozstrzygnięte!
Cała strona będzie wyglądać tak:
<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>
ja nie wiem, czy ten kod zostanie skompilowany dokładnie tak jak napisałem bo napisałem go za pomocą notatnika.
Przepraszamy za mój słaby angielski, pochodzę z Brazylii.
Christophe Trevisani Chavey. http://www.christophetrevisani.com
"pusty div, który zawiera GridView" - tee hee ;-D –
haha, masz rację, że nie ma sensu w ogóle – angelo
Ja też w tej samej sytuacji bez rozwiązania –