Как обновить GridView на главной странице с помощью кнопки на ContentPage? - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть MasterPage с GridView на панели обновления. На одной из моих страниц контента у меня есть кнопка, которая добавляет элементы в сеанс, которые я хочу отображать в Gridview, который находится на MasterPage. У меня есть элементы в Gridview, но у меня проблема с обновлением, обратной передачей или чем-то в этом роде. У кого-нибудь есть ответ на этот вопрос?

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Если у вас есть проблема с обновлением в панели обновлений, это означает, что кнопка «Отправить назад» находится не на панели обновлений, или панель не обновляется вручную.

В этом случае я предполагаю, что вы не можете поместить кнопку внутри панели, так как она является частью страницы содержимого, поэтому я предлагаю вам установить UpdateMode панели на условный и иметь некоторый метод обновления на главной странице. Чтобы увидеть этот метод на странице содержимого, создайте интерфейс с этим методом и дайте главной странице использовать этот интерфейс.

затем на странице содержимого возьмите ссылку на главную страницу и используйте метод обновления.

, например

Интерфейс

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();
    }
}
0 голосов
/ 13 сентября 2011

Вам нужно будет использовать События и делегаты . По сути, вы создадите Событие в Usercontrol, на которое будет реагировать ваша MasterPage. Есть много других сайтов с примерами, так что просто гуглите события и делегаты ASP.NET.

...