我正在開發由2種形式,父母和孩子組成的應用程序。 在父窗體中,我有一個框架。如果單擊父窗體的按鈕1,則子窗體將在框架內打開。現在我需要的是當子窗體的按鈕2被點擊時,它應該調用父窗體的Button2_click
。 這裏是我的父窗體代碼:來自子形式的母體形式的功能
public void MethodToExecute() //call this method
{
UPCCharges.Update();
if (HttpContext.Current.Session["CCost"] != null)
{
TxtCCost.Text = Session["CCost"].ToString();
}
DivCCharges.Visible = false;
IFMCCharge.Visible = false;
}
,這是表2的代碼:
protected void dgCFrom_ItemCommand(Object source, DataGridCommandEventArgs e)
{
UPCFromGrid.Update();
for (int vLoop2 = 0; vLoop2 < gvInner1.Items.Count; vLoop2++)
{
if (TxtTotalCFrom1 != null && TxtTotalCFrom2 != null)
{
TextBox TxtTotalCFrom = (TextBox)dgCFrom.Items[vLoop].FindControl("TxtTotalCFrom");
TextBox TxtTotalCYeild = (TextBox)dgCFrom.Items[vLoop].FindControl("TxtTotalCYeild");
Session["CCost"] = (mobjGenlib.ConvertDecimal(TxtTotalCFrom1.Text) + mobjGenlib.ConvertDecimal(TxtTotalCFrom2.Text)).ToString();
Session["CYeild"] = (mobjGenlib.ConvertDecimal(TxtRecoveryOrigin.Text) - mobjGenlib.ConvertDecimal(TxtTotalCFrom.Text)).ToString();
Session["CName"] = dgCFrom.Items[vLoop].Cells[1].Text;
Session["CJobID"] = HBLGeneralID;
}
}
}
FrmMasterSimulationChartNewUF frm = new FrmMasterSimulationChartNewUF();
frm.MethodToExecute();
}
我得到的錯誤是:
當保持破發點中的主要形式功能MethodtoExecute
作爲對象引用未設置爲空。但是從form1執行它沒有錯誤。
任何人都可以請幫我解決這個問題嗎?
你的意思是你使用HTML框架?這是哪一年? – walther 2015-03-02 11:37:23
我使用IFrame.But如果我的猜測是正確的,我認爲iframe不起作用從子窗體的按鈕單擊調用父窗體功能。 – Appdev 2015-03-02 11:43:24
不要這樣做.. Iframes應該只用於場景,當你沒有任何控制的「孩子」的東西..例如,當你有一個非常基本的網站,並希望包括第三方留言簿..或者當你使用Facebook API和類似的情況。你無法在服務器端操作iframe中的「parent」。也許一些hacky的javascript/ajax,但這是一個非常醜陋,容易出錯的做事方式。 – walther 2015-03-02 11:47:26