Je me demande s'il existe des conflits/solutions de contournement communs ou connus pour travailler avec jquery et ASP.Net ajax. Plus précisément, il semble y avoir quelques problèmes lors de l'utilisation de la méthode wrapinner
de JQuery, puis plus tard, un appel à la méthode $find
de .Net.Conflits JQuery et ASP.Net Ajax?
Ceci est une idée générale du balisage que j'utilise. C'est une mise en page assez complexe donc je l'ai réduit pour la plupart. Désolé c'est trop dense. L'erreur se produit dans la fonction resizePage.
EXTÉRIEUR PAGE
<html>
<head></head>
<body>
<div>
<telerik:radsplitter id="rsMain" runat="server" orientation="Vertical" height="100%"
width="100%" bordersize="0" panesbordersize="0" resizewithbrowserwindow="true">
<telerik:radpane id="rpCentral" runat="server" scrolling="None">
<div id="wrapper" style="padding: 0 0 0 0; margin: 0 0 0 0;">
<iframe name="left_frame" src="test.aspx" runat="server" id="left_frame" width="100%"
frameborder="0" marginheight="0" marginwidth="0" height="100%"></iframe>
</div>
</telerik:radpane>
<telerik:radsplitbar id="rsbRHS" runat="server" collapsemode="Backward">
</telerik:radsplitbar>
<telerik:radpane id="rpRHS" runat="server" width="30%" minwidth="50" minheight="50">
<iframe name="right_frame" src="field_description.aspx" width="100%" frameborder="0"
marginheight="0" marginwidth="0" height="100%" scrolling="auto"></iframe>
</telerik:radpane>
</telerik:radsplitter>
<script type="text/javascript">
function ResizePage() {
var width = widthPCT * jQuery(window).width();
var panel = $find('<%= rpRHS.ClientID %>');
var collapsed = panel._isCollapsed();
$find('<%= rpRHS.ClientID %>').Expand();
$find('<%= rpRHS.ClientID %>').set_width(width);
if (collapsed)
$find('<%= rpRHS.ClientID %>').Collapse();
};
function AddScrolling() {
var body = GetFrameBody();
if (body.length == 0) {
setTimeout("AddScrolling()", 500);
return;
}
jQuery(body).wrapInner("<div id='reportwrapper' style='overflow: auto; position: relative;'></div>");
jQuery(body).css("background-color", "red");
ResizePage();
}
$.noConflict();
jQuery(document).ready(function() {
AddScrolling();
});
jQuery(window).resize(function() {
setTimeout(ResizePage, 100);
});
</script>
</div>
</body>
</html>
PAGE INNER
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:radscriptmanager id="scriptManager" runat="server" />
<div>
<div id="inner" style="height: 2000px; width: 2000px">
Some Text
</div>
</div>
</form>
</body>
</html>
Essayez document.getElementById ('<% = rpRHS.ClientID%>') et de voir quelle valeur qui vient avec. – zeroef
Et quand vous regardez la source de la page rendue pouvez-vous voir l'ID de contrôle? – zeroef
@zeroef Le clientID s'avère être juste rpRHS donc cela ne devrait pas créer de problèmes. – mrK