Сессия теряет свое состояние после вызова функции javascript - PullRequest
1 голос
/ 03 апреля 2012

Мы используем Sharepoint 2007. Мы инициализируем переменную сеанса при загрузке страницы. У нас есть одна функция javascript, как указано ниже

function backclick()
{
 __doPostBack('btnCaseSearch', 'Click'); 
alert('Select the Search Criteria.');
}

, но после ее вызова мы теряем значение сеанса.Если мы удалим __doPostBack ('btnCaseSearch', 'Click');тогда предупреждение отображается каждый раз, когда страница загружается, но сессия не теряет своего значения.Как поддерживать сессию, пожалуйста, помогите или предложите какую-нибудь альтернативу _doPostBack ()

. Сценарий подобен этой функции JavaScript ниже

function backclick()
{
 __doPostBack('btnCaseSearch', 'Click'); 
alert(result not found.');
}

function check()
{
var btn ="<%=Session["search"]%>";
if(btn == "true")
{
do something
}
else
{
else part
}

Ниже кода на стороне сервера

Page_Load()
{
//initialise session variable
session["search"] = "true";
}
btnSearch_click()
{
 if(result not found)
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(),"page_index_script1", "backclick();", true);

}
}

поэтому, когда в это время вызывается функция javascript backclick (), сессия теряет свое состояние, но если не вызывается функция backclick (), код работает безупречно

Спасибо

1 Ответ

3 голосов
/ 03 апреля 2012

Что-то, что выскочило на меня:

Мы инициализируем переменную сеанса при загрузке страницы

Загружается ли эта страница на стороне сервера ?

Каждый раз, когда вы _doPostBack запускаете pageLoad, я считаю, что именно здесь вы перезаписываете переменную сеанса.

Единственный способ сеанс потеряет свое состояние:

  • Если он перезаписан или удален (используйте точку останова, чтобы убедиться, что вы не устанавливаете его дважды!)
  • Браузер не сдает cookie при последующих запросах

Проверьте оба из них, и если ваша проблема не решена, опубликуйте, что вы нашли.

...