第1页 - Ticket.aspx
,DropDownList1
,ModalPopUpextender
,ID为mpe
第2页 - Customer.aspx
,btnSave
下拉列表的索引更改事件会弹出mpe
,其中包含iframe
。此iframe
加载Customer.aspx
。
我正在尝试访问按钮点击事件中的page1
控件,但无法访问。
Customer.aspx.cs:
protected void btnSave_Click()
{
Ticket page = new Ticket();
ModalPopUpExtender mpe = (ModalPopUpExtender)page.FindControl("mpe");
DropDownList ddl = (DropDownList)page.FindControl("DropDownList1");
//error here - Object reference not set to an instance
mpe.hide();
ddl.selectedindex=0;
}
为什么这不起作用。使用Session变量应该正常吗?
答案 0 :(得分:0)
您可以使用Server.Transfer而不是Response.Redirect,然后您可以在当前页面中找到该控件。 像:
TextBox tb = (TextBox)PreviousPage.FindControl("textbox1");
编辑:
if (Page.PreviousPage != null)
{
DropDownList ddl1 =
(DropDownList)Page.PreviousPage.FindControl("DropDownList1");
if (ddl1 != null)
{
Label1.Text = ddl1.SelectedItem.Text; //your logic
}
}
答案 1 :(得分:0)
您正在尝试的内容可能无法从服务器端进行,但可以通过一些小的javascript轻松完成。这是一个link,您可以在其中获得一段代码。
希望这有帮助。