Solved

maintainig scorll in c# Master page application

Posted on 2009-04-03
2
263 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
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
For most people, the WrapPanel seems like a magic when they switch from WinForms to WPF. Most of us will think that the code that is used to write a control like that would be difficult. However, most of the work is done by the WPF engine, and the W…
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…
A short film showing how OnPage and Connectwise integration works.

947 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

20 Experts available now in Live!

Get 1:1 Help Now