Solved

maintainig scorll in c# Master page application

Posted on 2009-04-03
2
279 Views
Last Modified: 2013-11-25
Hi Experts,
I have master page application. On one of the content pages i have created some dynamic controls like text boxes and have a radio button list with its text element  having some href part. Href opens a javascript alert box window with some information. It works fine except the page loses its scorll position. I have tried Page.MaintainScrollPositionOnPostBack = true; in master page code page and even tried smartNavigation=true but both dont seem to work. I am attaching my javascript in the code part. Any ideas how cud we manage the scoll in this case
Thanks
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Steve Chipman | http://slayeroffice.com/ */
 
// constants to define the title of the alert and button text.
var ALERT_TITLE = "Description";
var ALERT_BUTTON_TEXT = "Close";
 
// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.getElementById) {
  window.alert = function(txt) {
    createCustomAlert(txt);
  }
}
 
function createCustomAlert(txt) {
  // shortcut reference to the document object
  d = document;
 
  // if the modalContainer object already exists in the DOM, bail out.
  if(d.getElementById("modalContainer")) return;
 
  // create the modalContainer div as a child of the BODY element
  mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
  mObj.id = "modalContainer";
   // make sure its as tall as it needs to be to overlay all the content on the page
  mObj.style.height = document.documentElement.scrollHeight + "px";
 
  // create the DIV that will be the alert 
  alertObj = mObj.appendChild(d.createElement("div"));
  alertObj.id = "alertBox";
  // MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
  //if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
  // center the alert box
  alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
 
  // create an H1 element as the title bar
  h1 = alertObj.appendChild(d.createElement("h1"));
  h1.appendChild(d.createTextNode(ALERT_TITLE));
 
  // create a paragraph element to contain the txt argument
  msg = alertObj.appendChild(d.createElement("p"));
  msg.innerHTML = txt;
  
  // create an anchor element to use as the confirmation button.
  btn = alertObj.appendChild(d.createElement("a"));
  btn.id = "closeBtn";
  btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
  btn.href = "#";
  // set up the onclick event to remove the alert when the anchor is clicked
  btn.onclick = function() { removeCustomAlert();return false; }
}
 
// removes the custom alert from the DOM
function removeCustomAlert() {
  document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}
 
and my method that creates the hyper link is 
 
 int ObjID = 0; string ObjDesc = "",link=""; BA_Objective Obj = new BA_Objective();
        
        foreach (ListItem li in rblObjective.Items)
        {
            ObjID = Convert.ToInt16(li.Value);
        
            ObjDesc = Convert.ToString(Obj.GetObjectivesDescriptionByObjID(ObjID));
            ObjDesc = ObjDesc.Replace("'", "\'");
 
            link = "<a href=\"#\" onclick=\"javascript:alert('" + ObjDesc + "');\"> VIEW DETAILS ...</a>";
       
            li.Text = li.Text + " " + link;
           
        }

Open in new window

0
Comment
Question by:mmalik15
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 16

Accepted Solution

by:
sunithnair earned 500 total points
ID: 24058269
Try changing your code like this
        foreach (ListItem li in rblObjective.Items)
        {
            ObjID = Convert.ToInt16(li.Value);
        
            ObjDesc = Convert.ToString(Obj.GetObjectivesDescriptionByObjID(ObjID));
            ObjDesc = ObjDesc.Replace("'", "\'");
 
            link = "<a href=\"javascript:void(0);\" onclick=\"javascript:alert('" + ObjDesc + "');\"> VIEW DETAILS ...</a>";
       
            li.Text = li.Text + " " + link;
           
        }

Open in new window

0
 

Author Closing Comment

by:mmalik15
ID: 31566169
Great Solution
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Need to sort columns in DataGridView 4 64
Check only one toolstripmenu item 12 63
Help with Report Viewer in VS2013 6 34
AD Computer Objects in VB .Net 2 21
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

751 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