Une solution facile sans render modifier:
J'ai besoin d'appliquer un style à la div générée par le gridview car il me brise la mise en page, donc je créé un div id « myContainerDiv » et déplacé mon GridView en elle et en utilisant jQuery j'applique quelques styles.
Exemple:
$("#myContainerDiv > div").css("display", "inline");
Je mets ce javascript $ (document) .ready (function ({})) ;. Mais si vous utilisez UpdatePanel, comme je dois l'utiliser dans ce cas particulier, j'exécute ce $(). Css() dans chaque publication asynchrone. Sans cela le style sera perdu si vous exécutez un updatepanel où votre gridview est contenue. Mais j'exécute cette $() css() que si un UpdatePanel est tiré en particulier (pas besoin d'exécuter cette instruction javascript dans tous tous tous les async postback)
Exemple:.
<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>
Résolu!
La page entière ressemblera que:
<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>
Je ne sais pas si ce code compilera exactement comme je l'ai écrit parce que je l'ai écrit en utilisant le bloc-notes.
Désolé pour mon mauvais anglais, je viens du Brésil.
Christophe Trevisani Chavey. http://www.christophetrevisani.com
"vide div qui contient un GridView" - tee hee ;-D –
haha, vous avez raison, cela n'a pas de sens du tout – angelo
Moi aussi dans la même situation sans solution –