Click here to Skip to main content
14,660,942 members
Rate this:
Please Sign up or sign in to vote.
Hi,


I am binding the gridview values to the hiddenfield and calling the hidden field values on button clik event by spliting the values of hidden field based on ~(for rows) and ^(columns). This is working fine but, when after the session timeout, the values of the hidden field is getting lost and object reference not found exception is occurring. Please give me the solution of increasing session for hidden field.

Session Value

<sessionstate mode="InProc" cookieless="false" timeout="40000">



Javascript code.


function updateValues1() {
            var grdProjectEmpUpdDetails = document.getElementById("<%=grdProjectEmpUpdDetails.ClientID %>");
            var hdnUpdateData = document.getElementById("<%=hdnUpdateData.ClientID %>");
            hdnUpdateData.value = '';
            var checkempid = '';
            for (var j = 1; j <= grdProjectEmpUpdDetails.rows.length - 2; j++) {
                checkempid = '';
                var cellCount = grdProjectEmpUpdDetails.rows[j].cells.length;
                for (var i = 0; i < cellCount; i++) {
                    if (hdnUpdateData.value == '') {
                        if (i == 0 || i == 1) {
                            if ((grdProjectEmpUpdDetails.rows[j].cells[i].innerText) == undefined) {
                                var txt = grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                hdnUpdateData.value = txt;
                            }
                            else {
                                hdnUpdateData.value = grdProjectEmpUpdDetails.rows[j].cells[i].innerText;
                            }
                        }
                        else {
                            hdnUpdateData.value = grdProjectEmpUpdDetails.rows[j].cells[i].childNodes[0].value;
                        }
                    }
                    else {
                        if (i == 0 || i == 1) {
                            if (i == 0) {

                                var demo = grdProjectEmpUpdDetails.rows[j].cells[i].children;

                                if (demo.length > 1) {
                                    hdnUpdateData.value += grdProjectEmpUpdDetails.rows[j].cells[i].children[1].value;

                                }
                                else {
                                    if (grdProjectEmpUpdDetails.rows[j].cells[i].innerText == undefined) {
                                        var txt = grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                        hdnUpdateData.value += txt;
                                    }
                                    else {
                                        hdnUpdateData.value += grdProjectEmpUpdDetails.rows[j].cells[i].innerText;
                                    }
                                }
                            }
                            else {
                                if (grdProjectEmpUpdDetails.rows[j].cells[i].innerText == undefined) {
                                    var txt = grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                    hdnUpdateData.value += '^' + txt;
                                }
                                else {
                                    hdnUpdateData.value += '^' + grdProjectEmpUpdDetails.rows[j].cells[i].innerText;
                                }
                            }
                        }
                        else {
                            if (i == 9) {
                                var drpDown = '';
                                //if (grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName("select")) {
                                //  var dl = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName("select");
                                //for (var ilo = 0; ilo < dl.length; ilo++) {
                                //    if (dl[ilo].attr("disabled", "disabled")) {
                                //        dl[ilo].removeAttribute('disabled');
                                //    }
                                //}
                                //  for (var iilo = 0; iilo < dl.length; iilo++) {
                                //      drpDown = dl[iilo].options[dl[iilo].options.selectedIndex].value;
                                // }
                                // hdnUpdateData.value += '^' + drpDown;
                                // }
                                if (drpDown == '') {
                                    var celltxtbxrol = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName('input');
                                    if (celltxtbxrol.length != 0) {
                                        for (var jroln = 0; jroln < celltxtbxrol.length; jroln++) {
                                            if (celltxtbxrol[jroln].type == "text") {
                                                hdnUpdateData.value += '^' + celltxtbxrol[jroln].value;
                                            }
                                        }
                                    }

                                }
                                else {
                                    hdnUpdateData.value += '^' + drpDown;
                                }

                            }

                            else {
                                if (i == 11) {
                                    var dropDownunit = "";
                                    var dlunit = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName("select");
                                    for (var ilu = 0; ilu < dlunit.length; ilu++) {
                                        dlunit[ilu].removeAttribute('disabled');
                                    }
                                    for (var ilu = 0; ilu < dlunit.length; ilu++) {
                                        dropDownunit = dlunit[ilu].options.selectedIndex;
                                    }
                                    hdnUpdateData.value += '^' + dropDownunit;
                                } else {
                                    if (i == 18 && i != 11) {

                                        var items = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName("a");
                                        var filename = "";
                                        for (var hprlnk = 0; hprlnk < items.length; hprlnk++) {
                                            if (items[hprlnk].innerText == undefined) {
                                                filename += items[hprlnk].textContent;
                                            }
                                            else {
                                                filename += items[hprlnk].innerText;
                                            }
                                        }

                                        if (filename == "") {
                                            hdnUpdateData.value += '^' + grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                        }
                                        else {
                                            hdnUpdateData.value += '^' + filename;
                                        }
                                    }
                                    var celltxtbxadd = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName('input');
                                    if (celltxtbxadd.length != 0) {
                                        for (jaddn = 0; jaddn < celltxtbxadd.length; jaddn++) {
                                            if (celltxtbxadd[jaddn].type == "text") {
                                                hdnUpdateData.value += '^' + celltxtbxadd[jaddn].value;
                                            }
                                        }
                                    }
                                    else {
                                        if (i == 17) {
                                            if (grdProjectEmpUpdDetails.rows[j].cells[i].innerText == undefined) {
                                                var txt = grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                                hdnUpdateData.value += '^' + txt;
                                            }
                                            else {
                                                checkempid = grdProjectEmpUpdDetails.rows[j].cells[i].innerText
                                                hdnUpdateData.value += '^' + checkempid;
                                            }

                                        }
                                        else {
                                            var dropDown = "";
                                            var dl = grdProjectEmpUpdDetails.rows[j].cells[i].getElementsByTagName("select");
                                            for (var ilo = 0; ilo < dl.length; ilo++) {
                                                dl[ilo].removeAttribute('disabled');
                                            }
                                            for (var iilo = 0; iilo < dl.length; iilo++) {
                                                dropDown = dl[iilo].options[dl[iilo].options.selectedIndex].text;
                                            }
                                            if (dropDown == "" && checkempid != '-99999') {
                                                if (grdProjectEmpUpdDetails.rows[j].cells[i].innerText == undefined) {
                                                    var txt = grdProjectEmpUpdDetails.rows[j].cells[i].textContent;
                                                    hdnUpdateData.value += '^' + txt;
                                                }
                                                else {
                                                    checkempid = grdProjectEmpUpdDetails.rows[j].cells[i].innerText
                                                    hdnUpdateData.value += '^' + checkempid;
                                                }

                                            }
                                            else {
                                                hdnUpdateData.value += '^' + dropDown;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                hdnUpdateData.value += '~';
            }
        }








C# code

public List<facttimecardactualhoursperiodwisebo> GenerateFactTimeCardActualHoursDataFromEmpHdnField(string hdnControlData)
{
List<facttimecardactualhoursperiodwisebo> lstempTotActualEffort = new List<facttimecardactualhoursperiodwisebo>();
List<employeebillingbo> objSearchResult = (List<employeebillingbo>)Session["SearchResult"];
List<dimtimebo> dimTimeList = new List<dimtimebo>();
List<dimtimebo> dateSkPeriodToList = new List<dimtimebo>();
DimTimeService dimTimeService = new DimTimeService(this.ContextBO);
if (hdnControlData != string.Empty)
{
Userloggin = Convert.ToString(Session["UserName"]);
string[] rowData = hdnControlData.Split('~');
foreach (string row in rowData)
{
if (row != string.Empty)
{
string[] stringData = row.Split('^');
string onofsite = string.Empty;
FactTimeCardActualHoursPeriodWiseBO factTimeCardActualHoursPeriodWise = new FactTimeCardActualHoursPeriodWiseBO();

factTimeCardActualHoursPeriodWise.ProjectID = (string.IsNullOrEmpty(stringData[1]) || string.IsNullOrWhiteSpace(stringData[1])) ? 0 : Convert.ToInt32(stringData[1]);
factTimeCardActualHoursPeriodWise.EmployeeID = (string.IsNullOrEmpty(stringData[3]) || string.IsNullOrWhiteSpace(stringData[3])) ? string.Empty : Convert.ToString(stringData[3]);
if (factTimeCardActualHoursPeriodWise.EmployeeID == "-99999" || factTimeCardActualHoursPeriodWise.EmployeeID == string.Empty)
{
factTimeCardActualHoursPeriodWise.EmployeeFullName = string.Empty;
}
else
{
factTimeCardActualHoursPeriodWise.EmployeeFullName = (string.IsNullOrEmpty(stringData[4]) || string.IsNullOrWhiteSpace(stringData[4])) ? string.Empty : Convert.ToString(stringData[4]);
}
factTimeCardActualHoursPeriodWise.AmountBilled = (string.IsNullOrEmpty(stringData[16]) || string.IsNullOrWhiteSpace(stringData[16])) ? 0 : Convert.ToDecimal(stringData[16]);
factTimeCardActualHoursPeriodWise.Remarks = (string.IsNullOrEmpty(stringData[17]) || string.IsNullOrWhiteSpace(stringData[17])) ? string.Empty : stringData[17];
factTimeCardActualHoursPeriodWise.AmountTobeBilled = (string.IsNullOrEmpty(stringData[15]) || string.IsNullOrWhiteSpace(stringData[15])) ? 0 : Convert.ToDecimal(stringData[15]);
factTimeCardActualHoursPeriodWise.Rate = (string.IsNullOrEmpty(stringData[13]) || string.IsNullOrWhiteSpace(stringData[13])) ? 0 : Convert.ToDecimal(stringData[13]);
factTimeCardActualHoursPeriodWise.UnitSk = (string.IsNullOrEmpty(stringData[11]) || string.IsNullOrWhiteSpace(stringData[11])) ? 0 : Convert.ToInt32(stringData[11]);
factTimeCardActualHoursPeriodWise.Quantity = (string.IsNullOrEmpty(stringData[12]) || string.IsNullOrWhiteSpace(stringData[12])) ? 0 : Convert.ToSingle(stringData[12]);
factTimeCardActualHoursPeriodWise.ExpenseType = (string.IsNullOrEmpty(stringData[10]) || string.IsNullOrWhiteSpace(stringData[10])) ? string.Empty : Convert.ToString(stringData[10]);
factTimeCardActualHoursPeriodWise.Currency = (string.IsNullOrEmpty(stringData[14]) || string.IsNullOrWhiteSpace(stringData[14])) ? string.Empty : Convert.ToString(stringData[14]);
factTimeCardActualHoursPeriodWise.Sow = (string.IsNullOrEmpty(stringData[7]) || string.IsNullOrWhiteSpace(stringData[7])) ? string.Empty : Convert.ToString(stringData[7]);
factTimeCardActualHoursPeriodWise.PONumber = (string.IsNullOrEmpty(stringData[8]) || string.IsNullOrWhiteSpace(stringData[8])) ? string.Empty : Convert.ToString(stringData[8]);
factTimeCardActualHoursPeriodWise.EmployeeRole = (string.IsNullOrEmpty(stringData[9]) || string.IsNullOrWhiteSpace(stringData[9])) ? string.Empty : Convert.ToString(stringData[9]);
factTimeCardActualHoursPeriodWise.WorkHours = (string.IsNullOrEmpty(stringData[6]) || string.IsNullOrWhiteSpace(stringData[6])) ? string.Empty : Convert.ToString(stringData[6]);
onofsite = (string.IsNullOrEmpty(stringData[5]) || string.IsNullOrWhiteSpace(stringData[5])) ? string.Empty : Convert.ToString(stringData[5]);
if (onofsite.Trim()=="SelectShore")
{
factTimeCardActualHoursPeriodWise.OnsiteOffshore = "";
}
else
{
factTimeCardActualHoursPeriodWise.OnsiteOffshore = onofsite;
}
factTimeCardActualHoursPeriodWise.SubmittedStatus = "Submitted";
factTimeCardActualHoursPeriodWise.Attachments = string.Empty;
factTimeCardActualHoursPeriodWise.ModifiedDate = DateTime.Now;
factTimeCardActualHoursPeriodWise.CreatedDate = DateTime.Now;
string emailid = Userloggin.ToLower() + "@sonata-software.com"; ;
factTimeCardActualHoursPeriodWise.CreatedBy = emailid.Trim();
factTimeCardActualHoursPeriodWise.ModifiedBy = emailid.Trim();
foreach (var item in objSearchResult)
{
if (factTimeCardActualHoursPeriodWise.ProjectID == item.ProjectId)
{

var startDate = item.StartDate;
var EndDate = item.EndDate;


dimTimeList = dimTimeService.GetDate(startDate);
dateSkPeriodToList = dimTimeService.GetDate(EndDate);

factTimeCardActualHoursPeriodWise.DateSkPeriodFrom = Convert.ToInt32(dimTimeList[0].DateSK);

factTimeCardActualHoursPeriodWise.DateSkPeriodTo = Convert.ToInt32(dateSkPeriodToList[0].DateSK);
factTimeCardActualHoursPeriodWise.ProjectName = item.ProjectName;
factTimeCardActualHoursPeriodWise.StartDate = item.StartDate;
factTimeCardActualHoursPeriodWise.EndDate = item.EndDate;
}
}
lstempTotActualEffort.Add(factTimeCardActualHoursPeriodWise);
}
}
}
return lstempTotActualEffort;
}
Posted

1 solution

Rate this:
Please Sign up or sign in to vote.

Solution 1

Don't.
You can't do it just for one control, when the Session expires on the server the page is no longer connected so you can't access any controls, not just hidden ones.
And increasing the Session duration is a bad move - it can be done but it is not recommended as it ties up valuable server resources.

Instead, consider using a Cookie on the client system to hold the data - that way it can have as long a duration as you want without disturbing the server.
   
Comments
santoshkumar413 10-Aug-15 8:59am
   
Please kindly give me any idea, to not to display the exception or else that i can redirect to any other page

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100