Невозможно получить значения файлов cookie при использовании расширителя модальных всплывающих окон Ajax

Вот сценарий: у меня есть страница (Homepage.aspx), на которой есть кнопка. При нажатии я использовал для передачи некоторых значений в файлы cookie внутри метода _Click кнопки в файле .CS, а затем открывал другую страницу aspx (Detail_Report.aspx), где я получал значения из файлов cookie, а затем отображать содержимое страницы, использующей полученные мной значения.

Недавно я решил реализовать расширитель всплывающих окон Ajax для отображения страницы Detail_Report.aspx.

Я могу сделать это с помощью следующего кода:

    <asp:modalpopupextender id="ModalPopupExtender1" 
            runat="server" cancelcontrolid="btnCancel" 
            okcontrolid="btnOkay" targetcontrolid="Detail_Report" 
            popupcontrolid="DR" popupdraghandlecontrolid="PopupHeader" 
            drag="true" backgroundcssclass="ModalPopupBG">
        </asp:modalpopupextender>

      <div class="popupConfirmation" id="DR" style="display: none">
    <iframe id="frameeditexpanse" src="DetailReport.aspx" frameborder="1">
    </iframe>
    <div class="popup_Buttons" style="display: none">
        <input id="btnOkay" type="button" value="Done2" />
        <input id="btnCancel" type="button" value="Cancel2" />
    </div>
</div>

Вот объявление кнопки:

<asp:Button ID="Detail_Report" runat="server" 
                style="z-index: 1; left: 60px; top: 110px; position: absolute; width: 230px;" 
                Text="Detail Report" Font-Bold="True" BorderStyle="Solid" 
                Enabled="False" onclick="Detail_Report_Click"/>

И вот что у меня внутри метода onClick:

protected void Detail_Report_Click(object sender, EventArgs e)
        {
            //string javaScript = "<script language=JavaScript>\n" + "DetailReport();\n" + "</script>";
            Response.Cookies["proj"].Value = c_ProjName.Text.ToString();
            Response.Cookies["LOB"].Value = c_LOB.Text.ToString();
            Response.Cookies["release"].Value = c_ReleaseName1.Text.ToString();
            Response.Cookies["country"].Value = c_CountryName.Text.ToString();
            Response.Cookies["testenvkey"].Value = testenvkey.ToString();
            //ClientScript.RegisterStartupScript(this.GetType(), "Detail_Report_Click", javaScript);

Теперь моя проблема в том, что появляется всплывающее окно, но я не могу получить значения из файлов cookie, поскольку они пустые. В результате страница My Detail_Report.aspx отображается неправильно


person user2992534    schedule 14.01.2014    source источник
comment
Здесь та же проблема. какое решение найдено?   -  person I kiet    schedule 15.01.2014
comment
Еще нет .... Искал в Google целый день, но не нашел ни одного сообщения, которое могло бы помочь ...   -  person user2992534    schedule 15.01.2014
comment
Я нашел работу по этому поводу, позвольте мне привести вам пример.   -  person I kiet    schedule 15.01.2014


Ответы (1)


%If Session("ChildLoad") = "True" Then%>
 'Model Extender and panel
  <%end if%>

а затем при загрузке дочерней страницы проверьте статус сеанса, если он истинен, затем выберите значения из сеанса или файлов cookie, но для этого вам нужно включить публикацию на главной странице.

Идея позади

когда вы обновляете главную страницу, она также запускает событие загрузки с дочерней страницы.

person I kiet    schedule 15.01.2014
comment
Я понял вашу точку зрения, но позвольте мне объяснить свой сценарий немного более четко. На моей домашней странице есть несколько выпадающих списков. Теперь, только после того, как я выберу значения из всех раскрывающихся списков, я буду нажимать кнопку, чтобы вызвать дочернюю страницу, и буду передавать значение в cookie в соответствии с выбором, который я сделал в раскрывающихся списках. Я могу сделать это правильно, если я не использую модальное всплывающее окно Ajax, но когда я использую всплывающее окно Ajax, в то время, когда моя домашняя страница загружается, она загружает и дочернюю страницу, и потому что я не не передает никакого значения в куки, загрузка дочерней страницы не удалась, так как она использует значение в куки для получения данных - person user2992534; 16.01.2014
comment
но если вы установите флажок загрузки домашней страницы во время использования сеанса, вы можете избежать загрузки дочерней страницы. и когда вы загружаете дочернюю страницу, запускайте событие загрузки главной страницы, но на этот раз с проверкой сеанса загрузите и дочернюю страницу, чтобы вы могли использовать значение cookie при загрузке дочерней страницы. - person I kiet; 17.01.2014