Korzystanie z kontrolek miedzy formatkami?

0

Panowie mam 2 formatki 1)jest z textboxami 2) jest z gridem i teraz w metodzie Page_Load w tej 1 chce przypisac tym texboxom wartosci z grida z tej 2 formatki.Problem w tym ze ta 1 nie widzi tego grida z tej 2 w jaki sposob mam jej pokazac tego grida?

0

Po Page_Load domyślam się że to aplikacja web (asp .net). Nie da się tak jak chcesz, bo kiedy strona 1 istnieje, to pewnie 2 już nie istnieje. Chyba że pokazujesz ją w popup.
Możesz w request przekazać dane z jednej strony do drugiej, lub przez sesję. Lub do strony 1 przekazać id rekordu, który ona zassie z bazy do edycji. Albo edycję rekordu przeprowadzać w grid.

0

A masz moze gdzies jakis przyklad jak to sie robi no i jak lepiej requstem czy przez sesje?

0

Dobra ogarnalem to troche i mam tak na 1 formie jest button (tylko ze on jest w gridview) z tym zdarzeniem:

 protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            this.Server.Transfer("EdycjaNewslettery.aspx");
        }

A na drugiej formatce mam w Page_Load tak :

 protected void Page_Load(object sender, EventArgs e)
        {
            GridView grid = (GridView)PreviousPage.FindControl("GridView3");
            this.TextBox1.Text = grid.SelectedRow.Cells[1].Text;
        }

Ale tutaj

 GridView grid = (GridView)PreviousPage.FindControl("GridView3");

on mi nie przypisuje tego grida z tamej formatki jest null,dlaczego?

0

Pewno dlatego, że po przekierowaniu poprzednia strona już nie istnieje, więc jej kontrolki również.

0

Wiesz co zrobilem cos takiego za pomoca cookies:
To jest 1 formatka

protected void GridView3_SelectedIndexChanged(object sender, EventArgs e)
        {
            TextBox1.Text = GridView3.SelectedRow.Cells[1].Text;
            //int id = Convert.ToInt32(TextBox1.Text);
            if (this.Request.Browser.Cookies)
            {
                HttpCookie cookie = new HttpCookie("myCookie");
                //dodac values !!!

                cookie.Values["ID"] = GridView3.SelectedRow.Cells[2].Text;
                //cookie.Values["Adres_email"] = GridView3.SelectedRow.Cells[3].Text;
                //cookie.Values["Blad"] = GridView3.SelectedRow.Cells[5].Text;
                cookie.Values["IdFlamenco_emailu"] = GridView3.SelectedRow.Cells[6].Text;
                cookie.Values["IdFlamenco_newslettera"] = GridView3.SelectedRow.Cells[7].Text;
                //cookie.Values["Aktywny"] = GridView3.SelectedRow.Cells[8].Text;
                cookie.Values["Id_pliku"] = GridView3.SelectedRow.Cells[9].Text;
                //cookie.Values["Data_zmiany"] = GridView3.SelectedRow.Cells[10].Text;
                //cookie.Values["Przyczyna_rezygnacji"] = GridView3.SelectedRow.Cells[11].Text;

                this.Response.Cookies.Add(cookie);
            }
            else
            {
                this.Response.Write("Przegladarka nie obsługuje ciastek!!!");
            }
           
        } 

To jest 2:

protected void Page_Load(object sender, EventArgs e)
        {
                HttpCookie cookie = this.Request.Cookies["myCookie"];
                this.TextBox11.Text = cookie.Values["ID"];
               // this.TextBox2.Text = cookie.Values["Adres_email"];
                //this.TextBox7.Text = cookie.Values["Blad"];
                this.TextBox1.Text = cookie.Values["IdFlamenco_emailu"];
                this.TextBox3.Text = cookie.Values["IdFlamenco_newslettera"];
               // this.TextBox4.Text = cookie.Values["Aktywny"];
                this.TextBox8.Text = cookie.Values["Id_pliku"];
               // this.TextBox9.Text = cookie.Values["Data_zmiany"];
               // this.TextBox10.Text = cookie.Values["Przyczyna_rezygnacji"];
                
        } 

Tylko ze cos jest nie tak ale jest to bardzo dziwny problem.Jezeli jest tak jak tu to do textboxow po zaznaczeniu wiersza w gridzie wrzuca mi te wszystkie Id.
Jezeli jednak odkomentuje zakomentowane to po wybraniu select wiersza ktory ma 3 lub 2 puste wyswietla mi tylko ID i email a reszt nie.Co moze byc nie tak ?

0

Te 2 lub 3 to puste wartosci w kolumnach w gridzie.

0

A nie prościej przesłać te parametry w adresie albo (co gorsze) przekazać przez Session?

0

No moze i prosciej ale chcialbym rozwiazac ten problem bo jest bardzo nietypowy :) ale ok przez session to chodzi o plik global,tak?

0

To nie jest żaden "nietypowy problem", przekazywanie danych między stronami, to jest coś, co robi się miliony razy dziennie przy tworzeniu aplikacji WWW.

mihol napisał(a)

No moze i prosciej ale chcialbym rozwiazac ten problem bo jest bardzo nietypowy :) ale ok przez session to chodzi o plik global,tak?

Nie znasz podstawowych podstaw. Niewiele zdziałasz, jeśli nie poświęcisz czasu na ich nauczenie.

Na stronie 1.aspx:

 
Session["coś"] = "wartość cosia";

Na stronie 2.aspx:

 
this.Label1.Text = (string)Session["coś"];
0

Skoro nie jest nie typowy to dlaczego mi nie powiesz co jest nie tak ?

0

Bo dostałeś raz odpowiedź od massthera, drugi raz ode mnie i nawet jeszcze przykład jednego z rozwiązań.

0

No ok to podaliscie mi inne rozwiazanie ale ja dalej mowie o tych moich danych przekazywanych przez ciasteczka.Bo tutaj sie dzieje dziwna rzecz.Tak dla przypomnienia.Jezeli jest tak jak teraz tam na gorze w kodzie to jest ok,bo email mam w textboxie email itd ale jak odkomentuje zakomentowane to pozniej w jaki rekord nie klikne,po przejsciu na 2 formatke czyli tam gdzie sa te textboxy, wypelnia mi tylko textbox ID i email a reszta jest pusta i nie wiem dlaczego.To jest moj problem aczkolwiek za inne rozwiazanie wielkie dzieki,tylko myslalem ze moze ktos cos bedzie wiedzial a moze sie z czyms takim juz spotkał.

0
mihol napisał(a)

Jezeli jednak odkomentuje zakomentowane to po wybraniu select wiersza ktory ma 3 lub 2 puste wyswietla mi tylko ID i email a reszt nie.Co moze byc nie tak ?

Możliwe, że nie odnajduje wartości i nawet rzuca jakimś wyjątkiem, ale nie dowiadujesz się o tym. Debugowałeś?

0

Tak i nic tam takiego nie ma co bylo co mogloby wskazywac na to, ze jest cos nie tak a jednak jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1