我在UpdatePanel上有一个带有GridView的MasterPage。在我的一个内容页面上,我有一个按钮,它将项目添加到我希望出现在MasterPage上的Gridview中的会话中。我有Gridview中的项目,但有刷新或回发等问题。有没有人对此有答案?
答案 0 :(得分:1)
如果updatepanel中有刷新问题,则表示后退按钮不在更新面板内,或者面板未手动更新。
对于这种情况,我假设您不能将按钮放在面板中,因为它是内容页面的一部分,所以我建议您将面板的UpdateMode设置为条件并在您的母版页上使用一些刷新方法。为了在内容页面中看到这个方法,用这个方法做一些接口,让masterpage使用这个接口。
然后在内容页面中获取主页参考并使用刷新方法。
e.g。
public interface IMaster
{
void RefreshPanel();
}
(请注意,它使用我们之前创建的 IMaster 界面)
public partial class MasterPage : System.Web.UI.MasterPage, IMaster
{
protected void Page_Load(object sender, EventArgs e)
{
//Load items from session
}
public void RefreshPanel()
{
UpdatePanel1.Update();
}
}
public partial class ContentPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//Add items to session
//....
//Now refresh the updatepanel on the masterpage
IMaster masterPage = Master as IMaster;
masterPage.RefreshPanel();
}
}
答案 1 :(得分:0)
您需要考虑使用Events and Delegates。基本上,您将在Usercontrol上创建一个事件,您的MasterPage将对此做出反应。还有许多其他网站都有示例,所以只需谷歌ASP.NET事件和代表。