Solved

Suppressing postback on a user control

Posted on 2004-09-07
4
313 Views
Last Modified: 2011-10-03
I have a user control for a web site that shows a button called What Now. The page Load pulls the data that needs to be shown on this control, and the ascx page itself contains javascript to hide/unhide the control/tooltip. The problem, however, is that everytime you click the control to hide or unhide, it's making a server trip for some reason, and resetting. Anyone know why?

Here's the ascx page.
*************************
<div id="divWhatNowButton" class="what_now_top_bg" style="WIDTH:551px" onmouseover="ShowTip(23, event, 0)" onmouseout="HideTip(23, event)">
      <input type="image" id="imgWhatNowButton" height="33" width="551" src="images/top_center_title.gif" alt="Display/Hide the What Now help message." onclick="javascript:toggleWhatNow();">
</div>
<div align="left" id="divWhatNowText" style="WIDTH:552px;BORDER-BOTTOM:1px solid;HEIGHT:16px">
      <table border="0" cellpadding="5" width="100%">
            <tr align="left" valign="top">
                  <td><asp:label id="lblToolTip" runat="server" cssclass="instructions"></asp:label></td>
            </tr>
      </table>
</div>

<script language="javascript" type="text/javascript">
<!--
//toggleWhatNow();
function toggleWhatNow() {
//toggles display of "What Now" and sets the session cookie (not persistant)
      var iVisible      = readCookie('ShowWhatNow');
      var oToolTip      = document.all('divWhatNowText').style;
      alert('bVisible = ' + iVisible);
      if (iVisible == null) {
            iVisible = 1;
      }
      else if (iVisible == 0) {
            iVisible = 1;
      }
      else {
            iVisible = 0;
      }
      //alert('iVisible = ' + iVisible);
      if (iVisible == 1) {
            oToolTip.display = 'none';
      }
      else {
            oToolTip.display = 'block';
      }
      writeCookie('ShowWhatNow', iVisible);
      return false
}
//-->
</script>


And here's the vb code.
****************************
Public WhatNowID As Integer = 0

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        Dim bVisible As Boolean = False
        Dim sToolTip As String = ""

        If WhatNowID <> 0 Then
            sToolTip = clsMiscUtil.ToolTipGet(WhatNowID, ucHeader1.oSession)
        Else
            sToolTip = WhatNowID.ToString()
        End If

        lblToolTip.Text = sToolTip

    End Sub
0
Comment
Question by:kriskramer
  • 2
  • 2
4 Comments
 

Author Comment

by:kriskramer
ID: 11997975
Ok. I put the user control outside of the form on the page and it works like it's intended now, however, this control is designed to be in the middle of the page, between other controls that DO need to be in the form tag. Is there anyway to put this control back between the form tags and suppress the postback?
0
 
LVL 20

Accepted Solution

by:
ihenry earned 125 total points
ID: 11997987
try to modify this line

onclick="javascript:toggleWhatNow();

to

onclick="javascript:return toggleWhatNow();
0
 

Author Comment

by:kriskramer
ID: 11998208
That did it. What's the difference? Why does using return keep it from posting back?
0
 
LVL 20

Expert Comment

by:ihenry
ID: 11998221
Simply, the page will not be posted back if the javascript function return false.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now