Im currently experincing some difficulties with the viewState. The scenario is that i have a datagrid that has a column of buttons that when pressed will store a value in the viewState. I have already done this on one occasion in the same page, but for some reason the second item in the view state is always returning null, even when i hardcode in a number in before the postback. Im at a loss as to why this is happening, anyone expericened this and know what is wrong.
EDIT: Ive found out the cause, Its due to when you click a button in a data grid it does the postback code first, then fires the event handler, so of course the view state would be empty as it is coded to be set in the event handler for the button click. Is there any way to avoid that? So the event code is fired before the postback code?
I've inherited a project and in effort to beautify it, I'm replacing an image based menu bar with a CSS based bar. When you click on a button it takes you to the appropriate page.
Currently in the OnInit() it checks what page you're on and then changes the URL of the image for the appropriate button to be the "active" image for that button:
Pretty simple, and works fine, but it's a pain to add new items, because I need to create a new image and if I want to change the look, I have to create a whole new slew of buttons.
I have built out the CSS menu using basic UL and LI and all the hovers and links work fine. My issue comes when I want to set the "active" item. The way the CSS works is by either setting the CLASS of the active item to "active" or I could easily change it to set the ID of the item to "active", but in either case the viewstate crashes on any posts because the object is not the same as it was when the page loaded, since the style is updated when the OnInit(); event goes off.
I've tried both setting the class name:
menuFacilities.Attributes.Add("class", "active"); as well as directly applying the CSS style: menuFacilities.Style.Add("background", "#1376c9 url('images/topnav_active.gif') repeat-x;");
Both work fine on the initial page load, but once I click anything that posts, it crashes with a viewstate failure.
If I set the enableviewstate="false" then it works fine between different page loads, but not if I post to the same page (ie submit a search form)
I can't figure out how to handle the "active" object. For some reason the image URL works for asp:Imagebuttons
Here's what one of the items in the menu looks like (pretty simple stuff here):
Example scenario: User login has a list of associated 'accounts' it has access to... this list of accounts is stored in a database table, say tblAccountAccessControl, something like:
This info is used throughout the web application and determines the 'domain' of information the particular login has access to. For example there are many other tables that have the 'accountID' field and whenever a page pulls data from the table it only pulls data that the currently logged in user should be allowed to see, based on that tblAccountAccessControl data.
The security question: Do I need to query the database every time I need to get this list of allowed accountID's? I was about to use a plain old query string to pass a particular accountID to another page but quickly caught myself as I realized that would be a major security flaw (the receiving page was going to use that accountID to grab info from the database, and there would be nothing preventing a user from simply typing in a url manually to get data from an accountID they are not supposed to be allowed to view). So I then thought I'll just store the list of accountID's in a session state variable so they will be carried with the user throughout the session.
But then I remembered there are tools out there that allow you to easily intercept and modify asp.net viewstate information and I'm not sure if that would included session state variables, but I'm guessing they would. Is there a way to create a secure query string? If I used session state would that session state information be exposed and modifyable by utilities out there? Am I just stuck having to query the database every time I need this info to assure security? What about encrypting it and then storing in session state variable (just thought of that one)?
I have a query string which contains the value of more than one Array, I want to pass these values from Page 1 to Page 2 and then distribute the array values into new arrays on Page 2.
Here is what I have so far.
Page 1
[Code]....
[Code]....
Page 2
[Code]....
All that I get returned in EFFinal and IFFinal is System.String?
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:
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?
I want to know that when we create custom controls, then is there State Management through ViewState done automatically or we have to handle it explicitely ?Since i have created Custom Controls that is behaving as if it is not maintaining its state on PostBack.
In my Application_BeginRequest I have code that gets query string value ?c=FR or ?c=US and store it in cookies.Based on query string value I have either US or FR,locale is selected from locale table.If ?c=FR then locale will be fr-FR and if it is US then locale will be en-US.My code is below.
void Application_BeginRequest(object sender, EventArgs e) { LocalizationInfo loc = GetLocalizationInfo(); if (Request.Cookies["Localization"] == null) Response.Cookies.Add(new HttpCookie("Localization")); Response.Cookies["Localization"]["Country"] = loc.Country; CultureInfo objCI = new CultureInfo(loc.Locale); Thread.CurrentThread.CurrentCulture = objCI; Thread.CurrentThread.CurrentUICulture = objCI; } public static LocalizationInfo GetLocalizationInfo() { string countryCode = ""; string sLocale = ""; if (HttpContext.Current.Response.Cookies["Localization"]["Country"] != null) countryCode = HttpContext.Current.Response.Cookies["Localization"]["Country"]; if (!string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["c"])) countryCode = HttpContext.Current.Request.QueryString["c"]; if (countryCode == "") countryCode = "US"; sLocale = HertzRent2Buy.DataProvider.ListData.GetLocale(countryCode); LocalizationInfo ret = new LocalizationInfo(); ret.Country = countryCode; ret.Locale = sLocale; return ret; } public struct LocalizationInfo { public string Country; public string Locale; }
Now when I run the project and in query string I set [URL] then for the very first page(home page itself) it shows me French translation,but on subsequent page,that query string parameter ?c=FR is lost and hence it shows be English translation not French translation since it does not pickup French resx file.If I manually append ?c=FR in subsequent page then it shows the French translation.Is there is way how I can make that query stringparameter available in all pages.Structure is there to hold Country and locale variables. In all pages I am calling GetLocalizationInfo() method as follow
LocalizationInfo info = some.DataProvider.Globalization.GetLocalizationInfo();
And I create instance info to pass locale and country as parameter. GetProductDetails(id,info.Country,info.locale). why my query string parameters get lost on subsequent pages.
How to pass query string from one application to another application, i need to send values through one page of application to another application,I am using inprocess session state. from loging page i need to send sessions to another applicaion but here sending sessions are some what diffcult (after googling).so is it possible through query strings???if yes How pass them please tell me the sample example.will it be possible through coockies?? or query strings. How
I start with a blank ASP.NET page where I disable ViewState for the whole page with EnableViewState=False and even ViewStateMode=Disabled.keep adding various controls to the page -- Label, Table, Calendar, TextBox, DropDownList.Everything looks good, i.e. my __VIEWSTATE tag fluctuates between 24 and 28 characters.As soon as I add a single RadioButton (or CheckBox), the __VIEWSTATE shoots up to 130 characters. And it keeps growing by over 100 characters every time I add another RadioButton.
I have a code like this in the Me.LoadComplete event.
[Code]....
Now I would like to set this viewstate("data") = nothing on a certain button click in a user control (.ascx) in this page but it doesnt clear the viewstate. What am I doing wrong? In the onClick even of the button in the .ascx I write Me.viewstate("data") = Nothing
I have a clear button and a textbox in an aspx page. I set the session variable in this page as
String str = Textbox1.Text;
Session["TypeIds"] = str;
and I clear the sessions in a clear button event as
Session["TypeIds"]=null;.
Then when the user types some value in the textbox ,on Response.Redirect on another aspx page, the session variable returns null values.It does not retain its session state. The session state has to be maintained in the next page. Is it because this clear button event and setting explicitly to null creates this problem?
On my development machine, the session state data is retained after a post back to the server. (XP VS 2008) (This is true if running from within VS or if running in browser with localhost.)On the deployed test server, the session state is blank in IE, but works in Firefox. (Svr 2003 IIS 6)Both machines are running the exact same code with the exact same imputs and same web.config. There is no code between the post backs that write to the session state.Newest addition to the server would be the consumption of a WCF web service. Could this be a symptom of something missing on the server(s) when trying to connect with WCF? I could not find any information other than installing the 3.0 framework. I have 3.5 SP1 installed on the test server.
I want to use textbox value after I visit from current to other page then again to current page using viewstate but value should be the one when I was current page last time.
I am creating a simple string of values that get added to a label after a post back. I am setting the values thorugh ViewState. However, my appended values do not get updated until AFTER the 2nd postback. Example:
On Page_Load the label displays a "0";
If I enter a "1" in the text box and click the button the label still displays a "0";
If I click the button again (the 2nd postback) then my label correctly displays "0,1"; This works for whatever value I enter after. i.e. "0,1,35,hello world", etc.
I am developing a a web application of a general store where the operator has to enter the things what customer has purchased. Like daily usage item,or anything. So I have form in which I first ask how much item u wannt to register...(if he has 20-30 number of items then operator will enter 20-30 then in gridview 20-30 item are opened. With bind dropdownbox containing name of item ,then textboxs containing mrp, value, stock avail of that item. Here is the link for demo. [URL]. Problem is suppose the operator enter the value above 20, then viewstate size id about 1.50Mb that's too heavy. [Code]....
I stored a list<mytype> object in a viewstate. Type of list<mytype> comes from a public structure which is defined at page.
When I try to convert viewstate to a list<mytype> object it cause error.
Public struct mytype {....} Page_load() { list<mytype> obj = new list<mytype>(); viewstate["mystate"]=obj } My_function(){ list<mytype> tempobj = new list<mytype>(); tempobj = (list<mytype>)viewstate["mystate"];// this line cause error ! }