所以在我的Default.aspx頁面上我有幾個listboxes,我在page_load上填充。ASP.net調用函數Default.aspx.cs從Site.Master.cs類
但是,如果用戶更改這些列表框並想恢復原始設置,我想要在Site.Master中定義的頂部按鈕調用相同的函數增益來恢復原始值。
如何從Site.Master文件獲取對_Default對象的實例的引用?有沒有一種方法可以全局訪問首次加載頁面時調用的_Default實例?或者我需要在某處手動存儲?
例如:
Default.aspx.cs:
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
setConfigurationData();
}
public void setConfigurationData()
{
//Do stuff to elements on Default.aspx
Site.Master.cs
namespace WebApplication1
{
public partial class SiteMaster : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RefreshMenu1_MenuItemClick(object sender, MenuEventArgs e)
{
//Need to call this function from an instance of _Default, but I don't know
//how to retrive this or save it from when it is first created
//_Default.setConfigurationData();
如果您的母版頁需要任何特定頁面的實現細節,那麼您做錯了。 –
@JoelEtherton,雖然我同意,但我認爲他的意圖是不同的。他希望在主頁上聲明一個按鈕,這些按鈕在許多頁面上的工作方式不同,而不是針對特定頁面的邏輯。但這並不一定意味着它是正確的。 –
@DaveZych:我的評論並不意味着貶低,只是一種輕微的理性之聲。一旦出現這座橋,幾乎總是有一種更簡單的方法來達到預期的效果。我會建議OP搜索該方法。 –