Javascript - Div's Class Not Persisting When 'back' Button Is Used?

Aug 18, 2010

I have an ASP.NET page that contains two div's. Both have search fields and a search button contained within each of them. When I first come to this page, Div A has the class 'SearchDiv' while Div B has 'SearchDivDisabled'. These classes change the appearance so the user knows which search type they currently have enabled.

When Div B is clicked, JavaScript changes it's class to 'SearchDiv', and changes Div A to 'SearchDivDisabled'. This all works like a charm. The problem I have is when a user changes to Div B, clicks Div B's search button (which obviously redirects to a results page), and then uses the browser's back button. When they return to the search page, Div A is enabled again, and Div B is Disabled, even though they last used Div B. In the search button event handler I set the class attribute of the Divs before I redirect, hoping this will update the page on the server so when the user returns, their last-enabled Div will still be enabled (regardless of which one was enabled when the page was first visited).I believe this involves the ViewState, but I'm unsure why the class attribute is not saved so when the user returns to the page it is restored.

Edit: Here is the button event handler code:

protected void RedirectToResults(int searchEnum, string resultPage)
{
ShowContainer(searchEnum);[code]....

RedirectToResults() is called from the actual button event handler with the enum representing the selected search panel and the results page url. SearchContainers is a dictionary mapping an integer to the search Div. The important code is the last line, where I'm updating the selected search container with the 'active' search class, rather than the disabled one (which I assign to the other div(s) )

Additional Update: I have been battling with this issue for the last couple days. I was sort of able to get the following code to work (in page_load):

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.

But this really isn't a solution, as everything else that gets cached correctly is lost, which leaves me worse off than when I started. Everything else seems to persist fine, it is just the class of the div that is causing me struggles.

Edit: Just wanted to update this for anyone else that comes across this. While I believe there is a solution here with setting the cacheability of the page to force the browser to postback, I could not get it working 100% with all browsers (primarily Firefox was giving me fits, which is a documented bug). I do believe the cookie solution would work, but I felt that may be a bit more complex than necessary for just trying to store the state of a couple div's.

What I ended up doing was tying the div's class to the state of it's correlating radio button (there are radio buttons next to the div which allow the users a more visual way of enabling search panels). I noticed these radio buttons retained the correct checked value when the back button was used, so I could guarantee they would indicate the correct div to be enabled. So in JavaScript's onload I check which radio button is enabled, and then adjust the classes of the search div's accordingly. This is a pretty big hack, but has worked 100% across all browsers, and only took about 10 lines of JavaScript.

View 6 Replies


Similar Messages:

Asp.net - Persisting The List And Getting It Back In Controllers Action

Jan 12, 2011

I have an action where I get the list from the database and pass it to the view. Now, I want that when I fire another action I can somehow get hold of that list (List). How can I do that since ViewData and the TempData is erased on each request.

View 1 Replies

Persisting Checkbox State If Browser Back Is Clicked After Postbacks?

Feb 9, 2010

I've a checkbox with autopostback=true. If i check the checkbox the postback occurs and changes a label text. But if i click back in the browser the checkbox is not returning to its previous unchecked state. How can i bring back its state?

Can i write some JavaScript to persist the state of a control?

View 1 Replies

State Management :: Persisting A Class Object?

Nov 5, 2010

I wish to persist a class object across postbacks by using a single session variable/object/whatever.

The class has about a dozen single variable properties; and about a dozen table properties; and several methods. The main table tracks rows of sporting event results. The web site will collect one row at a time for each postback. The data in the object's constructor is based on a dataset, but the data in the class will grow each time I do a postback so I don't want to loose the information in the class. The data isn't very big - it will fill a single computer screen.

Being new to programming I am thinking that I can store the dataset in the session but that would slow down the response time because I the methods would have to be called to refine the data - or maybe I can just store the entire class object in a session.

View 3 Replies

Internet Explorer's Back Button And Javascript?

Dec 21, 2010

I've got an asp.net page that uses dynamically populated DropDownLists and OnSelectedIndexChanged events. A few days ago I found a defect where hitting the back button would load the previous page from the browser's cache, so the DropDownList would already have a selected index (hence the OnSelectedIndexChanged event would not fire properly as it didn't have the default selected index). I understood the issue and googled around. It's a well known issue that doesn't have an easy solution because of how the browser interacts with the page. After a bit of thought, I went with a trivial javascript solution to reset the ddls:

var gvTable = document.getElementById("foo");
if (gvTable != null)
{

[code]...

This worked well and I was happy. Until I tested it in IE. In IE, it appears to run the script, THEN load the cached values of the DDL. That is, I observe the DDL snapping back to the 0 index, and then suddenly dropping down to the previously selected value. I'm sort of at a loss here, I typically debug in firebug, but this works perfectly in firefox and chrome.

View 1 Replies

Web Forms :: 1.1 - Button Post Back After Javascript Execution

Jun 2, 2010

I have created a listbox that the selected items would remove by using javascript once I clicked on a server button. Below is the code I'm using

<asp:button id="btnSelected" Runat="server" CssClass="InputFormObject" Text=">" ></asp:button>
<script language="javascript">
function removeOptions(selectbox)
{
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
if(selectbox.options[i].selected)
selectbox.remove(i);
}
return false;
}
</script>

private void Page_Load(object sender, System.EventArgs e).......................

View 5 Replies

C# - Create A Back Button That Uses Javascript Or Response.redirect

Apr 22, 2010

Im using asp.net c# (webforms) I want to add a back button to my page. (you land on this page if you incorrectly fill in a form). if javascript is enabled i want to go back via javascript, but if it is disabled i'll just do a response.redirect("~/home.aspx"). how can i implement this? is it 2 buttons? how can i hide the other in the 2 different states if so.

View 2 Replies

Javascript - C# - Enable Button Ontextchange Without Posting Back?

Mar 22, 2011

so i have a lightbox in which pops up an aspx page with textboxes and two buttons (submit - disabled and cancel - enabled). I wanted to enable my submit button ontextchange. it works fine when opened separately (not as a lightbox) but when i let it run normally with the lightbox function everytime ontextchange gets triggered the whole page refreshes disabling the lightbox.

<asp:TextBox ID="textBox1" runat="server" OnTextChanged="OnTextChanged_AttributesEdited" autopostback="true">
protected void OnTextChanged_AttributesEdited(object sender, EventArgs e)
{
btnSubmit.Enabled = true;
}

now if i take out the "autopostback=true" it then will not trigger the the ontextchanged. was wondering if is it better if javascript will be the way to go for enabling the button or is there a way where i can prevent the postback when ontextchanged is triggered?

View 2 Replies

Web Forms :: Disable Back Button Of A Browser Using JavaScript

Oct 11, 2012

How to disable the back button of a browser using Javascript.

View 1 Replies

Disable Back Button (showing Cached Version) Without JavaScript

May 29, 2010

I want to disable the broswer back button without using javascript. So far i have used this coding:

Response.CacheControl = "no-cache"
Response.CacheControl = "private"
Response.CacheControl = "public"

It's working fine in the internet explorer 8 but in case of mozilla fire fox it is not working.pls say same the solution to work in all browsers.

View 2 Replies

Web Forms :: Link Button With JavaScript / Window Updates But Does Not Refocus By Putting It Back On Top

Feb 12, 2010

I have a link button on my page which has both an Oncommand event and an OnclientClickevent.

The idea is that the oncommand updates some data via a postback and redisplays the page with the updates. The onclientclick event opens a new window.

The new window is named so there is only ever one instance of it.

What I'm trying to do is this.

Open a new window (if its not already opened) and ensure it is on top of the parent window. The new window is a smaller size so the parent window is still visible beneath. On the first occurance the new window opens above, however when I refocus on the parent to click again, the new window updates but does not refocus by putting it back on top.

View 1 Replies

Using Javascript Confirm Dialog On A Button Within An UpdatePanel - Posting Back Full Page?

Mar 31, 2011

I basically want to show a dialog box with confirm or cancel options on it.

Confirm should allow the partial postback to take place, cancel should not. I have tried using a trigger and calling __doPostBack() as advised here but it posts back the full page not just the panel.

$('#buttonInUpdatePanel').live('click', function (event) {
event.preventDefault();
var item = this;
var title = 'Confirm';
var msg = 'Please confirm something';
var $dialog = $("<div id='myDialog'></div>")
.html(msg)
.dialog({
modal: true,
buttons: {
"Confirm": function () {
$(this).dialog("close");
__doPostBack('Button1', null); //tried this and .submit() on the button
//return true;
},
"Cancel": function () {
$(this).dialog("close");
//return false;
}
},
title: title
});
});

My UpdatePanel:

<asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:TextBox runat="server" ID="TextBox1" />
<asp:Button
ID="Button1"
Text="Add"
OnClick="AddExtraVehicle_Click"
runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

UPDATE:

I have changed the doPostBack to use the button ID now and commented out the return true and false lines. When I click the button it calls the confirmation dialog but when you click on confirm it appears to do nothing. I was expecting a call to the method AddExtraVehicle_Click but the breakpoint didn't trigger.

View 1 Replies

Web Forms :: Persisting CommandArgument After Re-Creating Dynamic Button On PostBack?

Mar 14, 2011

I need some high-level advice on how to deal with this issue. I want to have dynamically created buttons, each with a different CommandArgument, that call an OnCommand event when clicked. Given that these are dynamic buttons, I have to re-create them in Page_Load after the postback. However, when I re-create the buttons, the orginal command arguments are lost, and the arguments generated after the postback are only valid.As you'd expect, if I don't recreate the buttons, the event handler is never called because the buttons don't exist.My question is, how can I retrieve those original commandarguments, without the use of sessions.

View 6 Replies

Javascript - Disable Browser "back" Button?

Aug 31, 2010

Possible Duplicate: Disable browser's back button How can I disable a browsers back button, in an asp.net mvc project. Can I use java script for this ? or is there any other ways to do this ?

View 5 Replies

Web Forms :: Back Button - Action To Return Back To 2 Pages Before On Single Click?

Oct 15, 2010

[Code]....

I have created a back button on my asp page. However, I would like this back button a a sinlge click to return the user to the page 2 pages before. I have tried to enter the history.back(2) but with no luck it does not work.

View 5 Replies

Security :: Sign Out Link / Click The Back Button On Browser, Still Go Back Into The Site?

Jun 24, 2010

I've created a Sign Out link on my page, just like the one you see on the top right hand corner of this forum.

This is the code i use :

<asp:HyperLink NavigateUrl="~/Login.aspx" ID="hypSignOut" runat="server" Text="Sign Out"></asp:HyperLink>

However, after signing out, I click the back button on my browser, I can still go back into the site. How do I prevent this?

View 3 Replies

Web Forms :: Redirect Loggedout Users Back To Login Page When Back Button Is Pressed

Jul 7, 2012

i m having problem with logout code in asp.net with c#. this logout code should end session, disable browser's back button and and if somebody try to login by paste the url of any user account page.i used this code in login page

protected void Button1_Click(object sender, EventArgs e)
{
Session["name"] = TxtUserName.Text;
}

and in logout i used this

protected void logout_Click(object sender, EventArgs e)
{
Session.RemoveAll();
Session.Abandon();
Response.ClearHeaders();
Response.Redirect("login.aspx");
}

nothing happening back button is still visible

View 1 Replies

Forms Data Controls :: Back Button Doesn't Go Back When Canceling / Updating Edits In Gridview?

Mar 31, 2010

I have a gridview bound to a sqldatasource with editing enabled. If I click Edit, then either Cancel or Update, the update or cancel occurs and the Edit button reappears. However, I cannot then click the browser's back button without having the Update and Cancel buttons reappear. A second click of the back button takes me to a state where the Edit button shows again, *then* another back button click will take me to the referring page (the one before the one with the gridview on it.) IOW, it looks like the postbacks are cached. How can I prevent this and have the back button go straight to the referring page?

View 4 Replies

Web Forms :: Back Button That Goes Back 3 Pages And Refreshes The Page

Jan 24, 2011

I am trying to see if it possible to create a back button that goes back 3 pages and refreshes that page. The make up of my page is a little complex. The Home page has a password prompt that enables a multiview to be visible with a gridview of information. The gridview has a details link that has a 2 querystrings that gets sent to the details page. The details page has the ability to be edited and updated. this is why I wanted it to go back 3 pages. The code I am using to go back is

<asp:Button ID="Button2" runat="server" CausesValidation="False" OnClientClick="javascript:history.go(-3);return false;" Text="Back" UseSubmitBehavior="False" />

View 4 Replies

Go Back To The Previous Page On Click Of Custom Back Button?

Aug 25, 2010

I am using an image button and on click of it i want to go to visited page.

Now i am using - Response.Redirect(Request.UrlReferrer.ToString()),

It is going to previous page, but when i am in a page of some user details where the link is looks like - users.aspx?userid=25 and i visit some other page and click back(image button) i want to see the same serdetail page. How to track that.

View 2 Replies

Web Forms :: Prevent Back From Browser Back Button After Logout

Jul 25, 2013

When I click Logout page redirect to Login page but when click to browser arrow back then it will goes back, I want to after Logout cannot going to back page...

View 1 Replies

Even After Loging Out Can Go Back To The Home Page Using BACK Button?

Feb 5, 2010

I am using ASP.net with C#.After I logout its possible to go back to pages using back button.I could fix the prob for the login.I have prob with the logout.I am using the inbuilt login page provided by the asp editor.Should I use sessions?

View 6 Replies

Javascript - If Users Press The Browser's Back Button To Reach The Prior Page Then Page Should Display A Message Like "web Page Expired"

Jul 23, 2010

if users press the browser's back button to reach the prior page..then page should display a message like "web page expired" in asp.net can i use javascript for this?

for example..

there are 4 pages in web sites. 1,2 and 3 can be back. but when the 4th page run then 4th page can not be back... when the user press browser's back button , diaplay ma message "weg page expired".

View 4 Replies

AJAX :: How To Update Gridview Data From Back Button Or Forward Button

Nov 10, 2010

I have a gridview that does a select statement against a sql database. What I want to do is have the data in the gridview refresh upon either hitting the back button or the forward button.

If the back button is pressed it should give me yesterdays data from the table. If I hit the forward button it should give me tomorrows data, at the same time i want the forward button to be limited to going forward only 5 days from todays date. I figure that I have to do this in a Updatepanel however I am unsure as to how to do this.

View 3 Replies

C# - How To Call Class & Method From A Button In Another Class

Jun 24, 2010

I have a WindowsForm that has a DataGridView that shows output of my app. The class with the button is DriveRecursion_Results.cs. I want it so that once the button is pushed by the user, my method FileCleanUp() in my SanitizeFileNames class is called. I'm not quite sure how to do this though.Here is the code for both classes:

public partial class DriveRecursion_Results : Form
public DriveRecursion_Results()
InitializeComponent();
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
[code]...

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved