如何增加隐藏字段值的会话超时 [英] How to increase session timeout of hidden field value

查看:59
本文介绍了如何增加隐藏字段值的会话超时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述







我将gridview值绑定到hiddenfield并通过spliting调用button clik事件上的隐藏字段值基于〜(对于行)和^(列)的隐藏字段的值。这工作正常但是,当会话超时后,隐藏字段的值丢失并且发现对象引用未找到异常。请给我增加隐藏领域会话的解决方案。



会话价值



< sessionstate mode =InProccookieless =falsetimeout =40000>







Javascript代码。





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 += '~';
            }
        }









< br $> b $ b





C#代码



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(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 == - 9999|| 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 =已提交;

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);



factTimeCardActualHo ursPeriodWise.DateSkPeriodTo = Convert.ToInt32(dateSkPeriodToList [0] .DateSK);

factTimeCardActualHoursPeriodWise.ProjectName = item.ProjectName;

factTimeCardActualHoursPeriodWise.StartDate = item.StartDate;

factTimeCardActualHoursPeriodWise.EndDate = item.EndDate;

}

}

lstempTotActualEffort.Add(factTimeCardActualHoursPeriodWise);

}

}

}

返回lstempTotActualEffort;

}









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;
}

推荐答案

不要。

你不能只为一个控件做这个,当会话在服务器上到期时,页面不再连接,所以你可以不能访问任何控件,而不仅仅是隐藏的控件。

增加会话持续时间是一个不好的举动 - 它可以做但不建议这样做,因为它占用了宝贵的服务器资源。



相反,考虑在客户端系统上使用Cookie来保存数据 - 这样就可以了只要你想要的持续时间而不打扰服务器。
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.


这篇关于如何增加隐藏字段值的会话超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆