I've got a weird problem with a NullReferenceException on a high traffic website my company hosts. The exceptions are logged with full stack-traces but I am unable to reproduce it.The exception occurs a couple of times a day, for different users, and it's a NullReferenceException thrown in the code block below:
if (!Page.IsPostBack) { ... this.ViewState[StaticClass.StaticStringProperty] = StaticClass.StaticIntProperty; // this is the line the exception occurs on ... } }
The only place I can figure that a NullReferenceException would be thrown is if ViewState is NULL, but I've never known that and can't find any reason why this would be the case in a Page_Load that isn't a postback.StaticStringProperty and StaticIntProperty are both initialised, static properties of StaticClass.
StaticStringProperty is defined as:
public const string StaticStringProperty = "IdFromClient";
Does anyone know how this could happen, or any other reason why a NullReferenceException would be thrown on the above line?
EDIT.As requested, the full stack-trace for the error is as follows. Line 54 is the line I've highlighted above.
at MyCompany.MyApplication.Appliance.Page_Load(Object sender, EventArgs e) in C:Documents and SettingsshellamaMy DocumentsMyApplicationAppliance.aspx.cs:line 54 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)[code]....
After postback (click on a button) in my ASP.NET form, all the DataItem of my form are null. Why? What should I do to retrieve the content of the DataList even after postback?
I'm handling cookies using JavaScript to store some values in my asp.net web application.I use document.cookie to save some values (converted into a lengthy string). But i want that value to be accessible across all the pages in my application.When i try to get that value from a different page, i get the values pertaining to the document in the current URL.
In short i save the value in the cookie in http://myapp/doc1.aspx and want to retrieve it in http://myapp/doc2.aspx
So is document.cookie is pertaining to a single document scope? How can i save/read cookies across the site?
Update.This is how i get and set cookies
function getCookie(c_name) { try{ [code]...
But i'm getting different values for the cookies in different pages.
I have a asp.net page titled EstMaterials.aspx with a gridview that fills from a SQL table based on a parameter passed to it. The code for calling the form is below.
 I have an a button field set as a link in a gridview. When the user clicks on the link it should open the "EstMaterials.aspx" page with a gridview listing the materials required for this job. If I do not have a parameter i.e, ScheduleWeek.oJob.JobSeqNbr, the gridview fills fine. However, with the parameter listed the gridview does not fill. It appears the form opens without ever looking at the parameter being passed.The page load event is below.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then If Not IsNothing(ScheduleWeek.oJob) Then Dim tbl As New DataTable
I have a simple page containing a GridView control that generates thead and tbody tags after rendering. In my jQuery script, I have a line that reads this way:
$('#GridView1 thead').eq(0).html()
When the page loads for the first time, this script returns an objects and works well. But when I click a button and cause a postback, it returns null. By the way, the button changes the number of the rows returned from the data source (based on the value of a textbox) and updates the grid.
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?
In asp I want to add row to my gridview when I read barcode. But when I want to add second row , gridview.datasource = null. So, my first row is removed from gridview in TxtBxBarcode_TextChanged event.
TxtBxBarcode and gridview are in the different update panels.
How can I prevent this "gridview.datasource is null when Postback" ?
I've been looking around and trying a lot of different tactics to solve this issue but basically the senario is this.I have a gridview with a fileUpload in it.I can upload a file perfectly and it writes to the database.The trouble starts when I update a different cell and don't touch the cell with the fileUpload in it,it'll postback a null value to the database.
How can I keep the fileUpload control from sending a null on postback to the database so it won't clear out my entry if there isn't a new one to replace it?Or alternatively,how to I default the value to the old value on postback if nothing was entered through the FileUPload control?
A common problem in repeater controls where you want to display data for update (like a list of user phone numbers that can be updated and submitted back to the database) is where to store the database unique row identifier. So, I created a custom Textbox control that I've added a Data property to. I populate this data property with the unique row id. The problem is that when I post back the list and go through the repeater items the control's data property is null. The custom control looks like this:
[Code]....
The tag in the repeater looks like this:
[Code]....
I have a custom checkbox with the same data property and it works fine. I actually put in the same repeater with the textbox control and the checkbox control have the row id on postback but the textbox did not. Is there some limitation on the textbox control that might be causing this.
I have been experimenting with code that will clear all of the cookies in an HttpContext.Response.Initially, I used this:
DateTime cookieExpires = DateTime.Now.AddDays(-1); for (int i = 0; i < HttpContext.Request.Cookies.Count; i++) { HttpContext.Response.Cookies.Add( new HttpCookie(HttpContext.Request.Cookies[i].Name, null) { Expires = cookieExpires }); }
this will error with an OutOfMemoryException because the for loop never exits - each time you add a cookie to the Response, it also gets added to the `Request.
I know that if I have set a cookie on a previous request, it will show up in my Request.Cookies collection. I want to update my existing Cookie. Are the cookies from my Request.Cookies collection already copied to my Response.Cookies collection? Do I need to add a new cookie with the same key using Response.Cookies.Add(), or do I need to use Response.Cookies.Set()?
I have setup my business object to have a create_date and edit_date members both datetime datatypes. My company want to display the create_date and edit_date fields in a gridview for each transaction. The problem i have is that after insterting a record it will have a valid create_date but no edit_date and when displayed in the gridview it defaults to datetime.minvalue (My default). How on earth do i show an empty field in my gridview for a null datetime field in the database?
I am using similar architecture to the Imar Spaanjaars example of a tiered solution. With a few small tweeks it has worked well for me for ages. I am passing a List<Database> to my object datasource which connects to my gridview.
I have a stored procedure to insert data into Table B, but when I tried to insert a null value into column ID of table B, this error came up:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA". The conflict occurred in database "database name", table "table A", column 'ID'.
I am guessing adding nothing to the null value column is the problem, but i don't know how to fix it... The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA". The conflict occurred in database "database name", table "table A", column 'ID'.
I have a problem with a SessionVariable. I will explain what is happening:
1. From the default.aspx I send Session["LoginByAdmin"] = "Dummy"; and then redirect to this page where I have the code below. So the Page_Load sees that this Session["LoginByAdmin"] != null and enter this page. This works fine !
2. In the Page_Load, I later fill a ListBox1 with foldernames.
3. With Button1_Click1, I will now delete the choosen Folder in the ListBox1 wich works fine the first time and the ListBox updates the new existing folders in the ListBox. (I have wrapped this inside an updatepanel)
The problems comes now when I try to delete a choosen folder in the ListBox1 the second time in a row. When I select a Folder in the ListBox1 and now Press Button1, I will be redirected to "Default.aspx". This meens that this code is running: (That meens that Session["LoginByAdmin"] == null and I have not set this to null anywhere. This is my big question how this variable can be = null here?
if (Session["LoginByAdmin"] == null) Response.Redirect("Default.aspx"); break;
I am using dropdownlist in my view page with some values which will display corresponding ID(primary key of other table) in my database.If i leave my dropdownlist blank and save it in database then its showing null parameter error. Can you explain how to use this reference type to overcome this error
In my code behind, I have the following code that I want to insert a null value for a parameter. Instead of doing that, it is adding the word "NULL" to my database. What am I doing wrong?
My site was woking fine, now i noticed that i get an error "Microsoft JScript runtime error: 'null' is null or not an object" when i checked the view source, i saw the following system generated code
<script type="text/javascript"> var Page_ValidationActive = false; if (typeof(ValidatorOnLoad) == "function") { ValidatorOnLoad(); function ValidatorOnSubmit() { if (Page_ValidationActive) { return ValidatorCommonOnSubmit(); } else { return true; } WebForm_AutoFocus('txtMailAddress');// --> IS THIS RIGHT???? out side the braces??? </script> </form> </body> </HTML>
here is my code for selectiong some records from db table
string strSql = "select * from mtblNBD where SentTo=@SentTo and InternalStatus Is NULL order by DeadLine desc"; SqlCommand com = new SqlCommand(strSql, con); com.Parameters.Add("@SentTo", SqlDbType.NVarChar, 50).Value = (string)Session["uname"];
here I am using parameters for SenTo field but not for NULL so it is ok... or should I use parameters for this field where value is NULL , if yes then how can I use parameter for this
On my content page I have the code (in page_load):
if (Master.pageAction == "remove") { int removeProductID = int.Parse(Request.QueryString["ID"]); int removeOptionID = int.Parse(Request.QueryString["optID"]); Master.myBasket.removeFromBasket(removeProductID, removeOptionID); //Response.Redirect("viewBasket.aspx"); } The function remove from basket is defined as: // Removes item from a basket public void removeFromBasket(int itemsID, int optionsID) { Page myPage = (Page)HttpContext.Current.Handler; this.setCookieString(""); myPage.Response.Write("done"); }
And it calls:
// Sets cookie date public void setCookieString(string cookiesData) { Page myPage = (Page)HttpContext.Current.Handler; HttpCookie basketCookie = new HttpCookie("basket"); basketCookie["items"] = cookiesData; basketCookie.Expires = DateTime.Now.AddDays(7d); myPage.Response.Cookies.Add(basketCookie); }
I use the setcookiestring function on other pages and it works fine, but this function (removing from the basket) isn't setting the cookie! It is writing "done" to the top of the page, so the functions are executing.
No warnings, no errors, it's just not updating the cookie.