问题
Problem: I have a master page dictating the css, html, head, body content so I can't use the floating div technique and need to go trough the ajax/asp only route. All I have been able to find online on this subject is people having problems with implementing this but no actual working example code.
I tried using the jQuery based floating div menu off jtricks.com but the instructions were for an html file not a asp.net file and caused an error with the page load.
<script type="text/javascript" src="specify script file URL here">
</script>
<div id="floatdiv" style="
position:absolute;
width:200px;height:50px;top:10px;right:10px;
padding:16px;background:#FFFFFF;
border:2px solid #2266AA;
z-index:100">
This is a floating javascript menu.
</div>
<script type="text/javascript">
floatingMenu.add('floatdiv',
{
// Represents distance from left or right browser window
// border depending upon property used. Only one should be
// specified.
// targetLeft: 0,
targetRight: 10,
// Represents distance from top or bottom browser window
// border depending upon property used. Only one should be
// specified.
targetTop: 10,
// targetBottom: 0,
// Uncomment one of those if you need centering on
// X- or Y- axis.
// centerX: true,
// centerY: true,
// Remove this one if you don't want snap effect
snap: true
});
</script>
Please provide some sample code on using floating divs in TabContainer or DragPanel via Ajax.
Thanks! :)
回答1:
To make the jquery based floating div menu work, I put the code for the div within the ASP Content Main Section after the DynamicDataManager Control and in the ASP UpdatePanel:
<asp:Content ID="main" ContentPlaceHolderID="main" Runat="Server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<EditItemTemplate>
<div id="floatdiv" style="position:absolute; width:200px; height:50px; top:10px; right:10px; padding:16px;background:#FFFFFF; border:2px solid #080808; z-index:100">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Update" Text="Update" style="right:25px; padding:25px" updateDisabled = "updateDisabled +1; if (updateDisabled == 1) {return true;} else {this.disabled=true;return false;};" />
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />
</div>
I also added a disable update button to prevent people creating 2 duplicate records in the DB:
<asp:DynamicEntity runat="server" Mode="Edit" OnInit="DynamicEntity_Init"/>
<script language="javascript" type="text/javascript"> var updateDisabled = 0; </script>
<asp:LinkButton runat="server" CommandName="Update" Text="Update" OnClientClick="updateDisabled = updateDisabled +1; if (updateDisabled == 1) {return true;} else {this.disabled=true;return false;};" />
<asp:LinkButton runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />
I put the actual script within the ASP Content Main tag but after the Update Panel:
<script type="text/javascript">
floatingMenu.add('floatdiv',
{
// Represents distance from left or right browser window
targetRight: 10,
// Represents distance from top or bottom browser window
targetTop: 10,
snap: true
});
</script>
来源:https://stackoverflow.com/questions/6836486/asp-net-floating-div-menu-via-ajax-or-jquery