C# - How To Ignore Viewstate Of A Previous Request For Particular Control

Jun 17, 2010

I am dynamically generating controls, and sometimes I want to create a control and have it ignore the viewstate. For example, sometimes the user has clicked a button indicating they want a different form loaded, so the control tree I generate on postback is different from the original control tree. This is fine, except when I call Controls.Add then it tries to load the viewstate form the old controls into the new controls if the control tree structure is similar, and I want them to instead ignore that viewstate(and also ignore the postback values for input controls as well).

Can I do something like set the IDs of the controls or something that would allow me to conditionally prevent them from getting the viewstate/postback data of the previous request?

Edit: If I let the user of the control load the form on demand in postback handler, the postback data is not applied when I call Controls.Add(this really seems like a flaw in ASP.NET, because I would think if you're going to apply viewstate data "after the fact" through Controls.Add, it'd seem you would then apply the postback data automatically as well after the viewstate data is loaded). The real problem I run up against is my control is very dynamic, but the user of my control can't really tell it what to do until their postback handler fires, because one of the things a user can do is select different forms to be loaded via some link buttons. So it's not until the postback handler runs that they know what the uesr requested, and thus can ask my control to load a certain form. So I have to ask them to do convaluted things like saved the formID that identifies the last form to a session variable, and in OnInit they tell my form what the old formID was via a property. My control then loads the form in OnLoad so that it can consume the viewstate and postback data, and later in the programmer's postback handler, they can choose to clear the form and load a different one if they want.

Edit2: FYI Generating IDs for each control unique to the form works great, so I thought I could eliminate the pointless loading of the old form until the programmer requests a form be loaded in his postback handler. But as I mentioned above, what I found was that loading the form after postback data handling has occurred means that data is lost. Whereas viewstate gets loaded via Contorls.Add, playing catch up in the page lifecycle, it seems postback data does not!

View 3 Replies


Similar Messages:

How To Ignore A Http Request Without Clearing The Browser

Mar 24, 2010

To prevent duplicate requests (i.e. pressing F5 right after clicking a command button), I've setup my page base class to ignore the request if it's detected as a duplicate.

When I say 'ignore' I mean Response.End()

Now I thought I've seen this work before, where there's an issue, I just Response.End() and the users page just does nothing. I don't know the exact circumstance in which this worked, but I'm unable to repeat it now.

Now when I call Response.End(), I just get an empty browser. More specifically, I get this html.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<BODY></BODY></HTML>

I setup the following test app to confirm the problem is not elsewhere in my app. Here it is:

Add the following to an aspx form

<asp:Label ID="lbl" Text="0" runat="server" /><br />
<asp:Button ID="btnAdd1" Text="Add 1" runat="server" /><br />
<asp:Button ID="btnAdd2" Text="Add 2" runat="server" /><br />
<asp:Button ID="btnAdd3" Text="Add 3" runat="server" /><br />

And here's the code behind file

using System;

namespace TestDupRequestCancellation
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
btnAdd1.Click += btnAdd1_Click;
btnAdd2.Click += btnAdd2_Click;
btnAdd3.Click += btnAdd3_Click;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
CurrentValue = 0;
else if (Int32.Parse(lbl.Text) != CurrentValue)
Response.End();
}
protected void Page_PreRender(object sender, EventArgs e)
{
lbl.Text = CurrentValue.ToString();
}
protected int CurrentValue
{
get
{
return Int32.Parse(Session["CurrentValue"].ToString());
}
set
{
Session["CurrentValue"] = value.ToString();
}
}
void btnAdd3_Click(object sender, EventArgs e)
{
CurrentValue += 3;
}
void btnAdd2_Click(object sender, EventArgs e)
{
CurrentValue += 2;
}
void btnAdd1_Click(object sender, EventArgs e)
{
CurrentValue += 1;
}
}
}

When you load the page, clicking any button does what is expected, but if you press F5 at any time after pressing one of the buttons, it will detect it as a duplicate request and call Response.End() which promptly ends the task. Which leaves the user with an empty browser.

Is there anyway to leave the user with the page as it was, so they can just click a button?

Also; please note that this code is the simplest code I could come up with to demonstrate my problem. It's not meant to demonstrate how to check for dup requests.

EDIT: Another change that will allow me to achieve the same results would be to disable all my event handlers.

View 3 Replies

C# - Response.WriteFile Stopping Previous Request?

Dec 28, 2010

I have a button that calls a click event to download a picture. In my click event I have some code to change my display as the Save dialog pops up. The issue I am having is that when the dialog comes up it stops the previous line of code from executing. How can I check to see that my code has executed before calling the function?

Here is my button event handler and function:

[code]....

View 1 Replies

State Management :: Failed To Load Viewstate. The Control Tree Into Which Viewstate Is Being Loaded Must Match ?

Oct 9, 2010

Now here is the weird thing. First i am running it locally on the built in vs2008 web server.I load my control in fine, do a postback from a linkbutton, locally on my machine it all works fine, no issue.However when it goes onto my host, it falls over with the message:

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.Now i also load controls dynamically and use postbacks and things in the admin area of the site...and that works fine, however my front end just keeps failing? See the code behing below:

[Code]....

View 1 Replies

Getting Menu Control To Ignore An XML Node?

Mar 10, 2011

I am trying to populate an asp:Menu control using an XML file. I want the menu node's to display horizontally across the control in a static view, and have the SubMenu nodes expand dynamically from them.

The problem is I don't want the Top node to show up at all. Right now my menu has the Top node show and everything else expands dynamically from that. How do I tell it to ignore the Top node for my menu?

[Code]....

View 1 Replies

When User Back Any Previous Tab(page) The Will Be Show The Previous Data Without Loading 2nd Time?

Jul 26, 2010

I am developing a web application in ASP.NET3.5 with C#. I also using Telerik RadAjax Control. When user click the menu then open the page with a new tab(Like web Browser).I want to create, when user back any previous tab(page) the will be show the previous data without loading 2nd time( like browser tab). Is it Possible ?

View 2 Replies

How To Find Previous Page Control

Jun 24, 2010

The code was working correctly until i used a master page.

R.aspx
vb Code:
Dim athUsr As New AuthenticateUser()
athUsr.IsLogIn("~/Login.aspx")
If (IsPostBack = False) Then
Dim objcoll As UserRegistrationColl
objcoll = UserRegistrationProvider.GetDynamic(Nothing, "UserId='" + SessionManager.UserId.ToString + "'", Nothing)
[code]...

View 9 Replies

Web Forms :: Access Previous Web Form Control?

Oct 6, 2010

If I am going to access another page from previous page using response.redirect or server.transfer, What can I do so that the previous web page control can be accessed by the another page? Is it possible??

View 2 Replies

How To Go Back To Previous Step In Wizard Control

Jul 3, 2011

I'm using the Wizard control to collect information about the users:

- Step1: User personal information
- step2: User account information (email. username, password ...)
- step3: User agreement
- step4: display all the inputted information before submitting

On Step2, after the user has inputted username and clicked the Next button (to go to Step3), I verify whether the username is already being used. If so, I want to display an error message and stop to process to go to Step3.

Here is the code that I'm using:

Code:
Protected Sub Wizard1_NextButtonClick(sender As Object, e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.NextButtonClick
Dim WhichStepId As String = Wizard1.ActiveStep.ID 'Just to see the active step
Dim WhatActiveStepIndex As Integer = Wizard1.ActiveStepIndex 'Just to know active step index

[Code]..

View 6 Replies

Page Has Not Refreshed And Hidden Control Contains Value From The Previous Submit?

Dec 23, 2010

I have a special requirement with regards to popping up a MsgBox in ASP.Net. There seems to be various solutions across the Internet using the Javascript confirm box, and passes the response to a hidden control, from which VB.Net can the read and further respond ...but the Javascript code is initialted by a button on the ASP.Net Form. I want to be able to pop-up a MsgBox in the middle of my VB code-behind using the Javascript trick, which passes the result to the hidden control, which can then be read by VB.Net .... the problem is that the page has not refreshed and the hidden control still contains the value from the previous Submit .... I'll attach my code. If anyone can come up with a solution, will you have achieved the impossible!

View 2 Replies

Web Forms :: Accessing Previous Content Page Control?

Jan 4, 2011

Inside Page2.aspx file I'm trying to access Textbox1 control which is defined in Page1.aspx file but it gives error because it cannot find the control. The statement PreviousPage.FindControl("TextBox1") works only if Page1.aspx file is not tied to a master page. How can I find the control when both Page1.aspx and Page2.aspx files are part of the master page as shown below?

Page1.aspx file:

[Code]....

Page2.aspx.cs file:

[Code]....

View 14 Replies

Web Forms :: Call Previous Page Control From A Class?

Jan 29, 2010

I am trying to open a modalpop of previous page from a class, but i am unable to find that control

[Code]....

View 5 Replies

Forms Data Controls :: When Use The Previous Button To Navigate Back To The Previous Step The Page Reloads But At The Bottom Of The Page?

Aug 2, 2010

I'm using a wizard control with 4 steps, when I use the previous button to navigate back to the previous step the page reloads but at the bottom of the page.Instead of showning the whole of the page, the user views the footer of the site and the previous button and next button.I'm sure there is a very simple answer to this but I just can't figure out how to get the page to reload to the top.

View 8 Replies

Web Forms :: Back To Previous Form And Setting Control Data?

Jan 21, 2010

I have two web forms. One (Form1) with dropdownlist and button. Second (Form2) with the textbox , button and gridview.

I have the product list about 10000 items. When user go to Form1 and click the button. It will go to Form2 in which user will type the text in the textbox. And then click the button for filtering the productlist. the result will show in the gridview which will have select button in the first column.

When user select the product, Form2 will close and go back to Form1. The selected product will put in the dropdownlist in Form1.

How to do in the coding?

(1) Select button in the gridview with closing Form2, selected product put in the drop down list in Form1.

View 3 Replies

Viewstate - Getting The Old Value Of A Control On Postback?

Feb 9, 2010

I want to be able to find the old value of a asp.net control (textbox, checkbox etc) without relying on events (e.g. OnTextChange event). Something like "someTextboxControl.OldText" would be perfect! I imagine that it is stored in the viewstate and need to somehow get at it via a custom control.

View 2 Replies

State Management :: ViewState And ObjectDataSource / Getting Values From Viewstate In GetTopThemes?

Jan 11, 2011

I have problem getting values from viewstate in GetTopThemes.

<asp:ObjectDataSource
ID="sourceGetTopThemes"
runat="server"
TypeName="DBConnection"
SelectMethod="GetTopThemes"
EnableViewState="true"></asp:ObjectDataSource>

[Code]....

}

[Code]....

when the page is not Posted back, I saved all values in the viewstate.

View 2 Replies

Forms Data Controls :: Repeater Control Previous Next Record After Searching?

Jan 27, 2010

I have a search page. If a user enter something into title textbox and search let say it display 15 records.

If click the title of each records, it goes to DetailsPage.aspx.

What I want here is: If user click the title details of a record and leave that search page, I want to put there(On Details.aspx) Previous/Next button arrow so that the user does not need to browse back and see the search results and go to next details.

Note: I am passing ID into querystring when go search page to details page.

How to keep remembering IDs on details page of searched records on search.aspx ?? Use session or something different ? How can I do this ?

View 5 Replies

Custom Pager Control - Previous And Next Hyperlinks Buttons Don't Work Properly

Mar 4, 2011

I develop a custom data pager control. Its "previous" and "next" hyperlinks buttons don't work properly and I don't understand why.

[code]...

I need to develop my own paging light control. Don't suggest me to use other paging controls.

View 1 Replies

C# - Custom Paging Repeater Control Next And Previous Events Happen After Databind

Feb 3, 2010

I have a Custom Repeater control that inherits from Repeater and has paging functionality, however when I click the next page button the first time it refreshes the control but does not change the page, if I click it again after that it changes page perfectly. I know what the issue is, when I click the next button it does a postback, then the data is bound to the repeater, and then after that the NextButton Event is handled.

Is there any way I can change the order of the page load events?? Or force the repeater to reload again after the event is handled?? I've included my Custom Repeater class bellow:

using System.Web.UI.WebControls;
using System.Web.UI;
using System.Data;
using System.Collections;
using System;
namespace ASPresentation.Controls
{
[ToolboxData("<cc:PagedRepeater runat=server></cc:PagedRepeater>")]
public class PagedRepeater : Repeater
{
public int PageSize { get; set; }
public int CurrentPageIndex
{
get
{
return Convert.ToInt16(Page.Session["ProjectIndex"]);
}
set
{
Page.Session.Add("ProjectIndex", value);
}
}
public PagedDataSource pagedData = new PagedDataSource();
LinkButton NextBtn = new LinkButton();
LinkButton PrevBtn = new LinkButton();
public bool IsLastPage
{
get
{
return pagedData.IsLastPage;
}
}
public bool IsFirstPage
{
get
{
return pagedData.IsFirstPage;
}
}
public override object DataSource
{
get
{
return base.DataSource;
}
set
{
pagedData.DataSource = (IEnumerable)value;
}
}
protected void NextButtonClick(object sender, EventArgs e)
{
if (!IsLastPage)
{
CurrentPageIndex++;
}
}
protected void PrevButtonClick(object sender, EventArgs e)
{
if (!IsFirstPage)
{
CurrentPageIndex--;
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
NextBtn.Text = "Next";
PrevBtn.Text = "Prev";
NextBtn.Click += new EventHandler(NextButtonClick);
PrevBtn.Click += new EventHandler(PrevButtonClick);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
base.Controls.Add(PrevBtn);
base.Controls.Add(NextBtn);
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
public override void DataBind()
{
pagedData.AllowPaging = true;
pagedData.PageSize = PageSize;
pagedData.CurrentPageIndex = CurrentPageIndex;
base.DataSource = pagedData;
base.DataBind();
}
}
}

View 2 Replies

State Management :: ViewState - Does The Master Page Have Its Viewstate

Apr 30, 2010

I have been getting this error a lot lately with some of my users, and I had a couple of concerns with view state and I have read so many articles but I am still lost..

1. I use masterpage on all the pages and I need viewstate for some of the pages but..

There is a page where a user will fill out the information and then submit this data to a cgi server, and it is where I get most of the Client Disconnected errors, what would happen if I disable viewstate when they click on that button?

Now when a user browses from one page to another, does the view state from the previous page get deleted? If not how would I delete it?

Does the master page have its own viewstate? Would I be able to make sure none of items on my master page are using the viewstate?

View 7 Replies

C# - Page With ViewState Disabled Still Be Validating A Viewstate Field?

Sep 24, 2010

I have a shopping cart page (Cart.aspx) that has a button that will (sometimes) post to a third party payment gateway, if payment is necessary. The payment gateway will process the payment and then do a silent post to my website (Order.aspx) so I can update the order status.

Order.aspx always throws an invalid viewstate error, even though viewstate is disabled on the page.

What's happening is that Cart.aspx (which has viewstate enabled) posts to the payment gateway, and the gateway will post it back as part of the silent post. Even though Order.aspx has viewstate disabled and validation disabled, it still tries to validate the __viewstate field it's being given.

I know setting EnableViewState=false will disable the rendering of the __viewstate field, but if another page provides the field, shouldn't it still skip validation? I tried calling ViewState.Clear() on the Page_Init event of Order.aspx, but ViewState is apparently empty. how to get around this? I don't want to disable ViewState on Cart.aspx (in some cases it may be necessary), but I can't figure out how to clear it on Order.aspx.

View 1 Replies

How To Disable Viewstate For A Specific Control

Jan 21, 2011

<asp:TextBox ID="TextBox1" runat="server" EnableViewState="false" />
<asp:Button ID="Button1" runat="server" Text="Button" />

I have set the EnableViewState property to false, but when I click on the button the value in the textbox persists after the postback. Why does the value persist?

View 3 Replies

C# - Viewstate With Dynamically Loaded Control

Feb 16, 2011

I am having issues with my dynamically loaded control's events.Here is how I am loading the control:

protected void Page_Load(object sender, EventArgs e)
{
LoadSubPageEditTemplate();
}
protected void LoadSubPageEditTemplate()
{
pnlPageTemplate.Controls.Clear();
BaseOfferAdmin adminControl = (BaseOfferAdmin)this.LoadControl("~/Controls/SingleOfferAdmin.ascx");
if (adminControl != null)
{
adminControl.ID = "Control_ID"
pnlPageTemplate.Controls.Add(adminControl);
}
}
}

The LoadSubPageEditTemplate() is also fired from a button event on the page, since I have to update it after the button event has executed.

The control loads perfectly, I have tested it with a basic button and the postback fires as expected. However, I am getting weird results with CheckBoxes.

<asp:CheckBox runat="server" ID="cbOptionalAction" Text="CheckBox" AutoPostBack="true" OnCheckedChanged="cbOptionalAction_CheckChanged" />

The CheckedChanged event only fires when the Checkbox is checked, which I guess means there is some issue with my control viewstate. If I have multiple checkboxes on the page, and one creates a postback, the checkchanged event is fired for each checkbox that is checked.

View 1 Replies

Disabling ViewState For A Server Control?

Apr 1, 2010

I thought disabling ViewState for a server control would cause this control not to keep its state after a postback. I thought the same would happen if I disable ViewState for the whole page.

However, I tried to create an example to show this to a colleague and was puzzled when a textbox on a page would keep is state (in this case its Text property) after one or more postbacks, even when ViewState is disabled everywhere (both at Page level and Server Control level). Please see the code below:

[Code]....

I can keep pressing the Post back! button and every value typed on the textbox is still there after the postback(s). I'm using VS 2008.

After this example I now assume I don't understand ViewState as I thought I was.

View 2 Replies

C# - Can't Access Control In Form When Viewstate Disabled

Mar 19, 2011

I want to disable my viewstate in a form because its too bulky (about 1mb per page) due to retrieving some data from database and in other place on the same form I want to access a control from my master page. but when I set viewstate of Listview to false I'll get following error: Object reference not set to an instance of an object. what should I do in this situation? veiwstate is too damn bulky
and here is what I've written for accessing particular control:

Control cc = Page.Master.FindControl("mainContent").FindControl("ListView1").FindControl("itemPlaceholderContainer");
foreach (Control ListItemctrl in cc.Controls)
{
Control lblNewsId = ListItemctrl.FindControl("lblNewsID");
if (lblNewsId != null)
{
Type t = lblNewsId.GetType();
if (t.FullName == "System.Web.UI.WebControls.Label")
{
string newsID = ((Label)lblNewsId).Text;
foreach (Control childCtrl in ListItemctrl.Controls)
{
CheckBox ctrlCB = childCtrl.FindControl("chkItem") as CheckBox;
if (ctrlCB.Checked)
{
//based on DDLAction we will do the things ;)
}
if (childCtrl.FindControl("chkItem") != null)
break;
}//end foreach childCtrl
}
}//end outer if
}//end foreach listItenctrl

View 1 Replies







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