У меня очень чувствительная неурегулированная ошибка. Pls посмотреть на этот forums,Linkbutton click открывает modalpopup, кнопка «Назад» приводит к «Истекшему документу»
на жереха: LinkButton нажмите будет открыт modalPop, при этом, если кнопка назад нажата, браузеры говорит «Документ истек»
LinkButton добавляется динамически внутри GridView и команды Кроме того, при щелчке динамически добавленного linkbutton функция lnkBtnBookTheSelected_Click будет называться там, я собираю выбранный идентификатор строки.
bool CheckAvailability()
{
//some logical code and getting data in "statusList"
Session["Availability"] = statusList;
gridViewAvailability_DataBound(null,null);
}
protected void gridViewAvailability_DataBound(object sender, EventArgs e)
{
string[] statusList = (string[])Session["Availability"];
try
{
if (statusList.Length > 0)
{
int i = 1;
foreach (GridViewRow row in gridViewAvailability.Rows)
{
row.Cells[3].Controls.Clear();
if (statusList[i - 1] == "Available")
{
LinkButton lb = new LinkButton();
lb.Text = "Book this?";
lb.CommandArgument =i.ToString();
lb.Command+=lnkBtnBookTheSelected_Click;
row.Cells[3].Controls.Add(lb);
}
else
{
Label lbl = new Label();
lbl.Text ="Not available";
row.Cells[3].Controls.Add(lbl);
}
}
i++;
}
}
catch (Exception a)
{
}
}
protected void lnkBtnBookTheSelected_Click(object sender, CommandEventArgs e)
{
Session["SelectedID"] = e.CommandArgument.ToString();
lblUserMsgForPurpose.Text = "Dear " + Session["UserName"].ToString() + ", Please enter for what purpose you want to Booking";
ModalPopupExtenderPurpose.Show();//popup for some input
}
Использование LinkButton для openPopup на стороне клиента - неплохая идея. для вашего желания, вы можете отправить ajaxRequest на сервер, чтобы сохранить переменные в сеансе. и открыть всплывающее окно, как только запрос завершен. –