Ajax przekazanie parametru

Odpowiedz Nowy wątek
2016-04-21 20:20
0

Zrobiłem stronkę w asp.net MVC która posiada listę "itemów" lista ta odświeża się co 1 sek pobierając dane z bazy za pomocą kontrolera

 public JsonResult CurrentUserItemsAjax() 

tu wszystko jest proste gdy chcę włączam swoją tablicę z itemami, problem zaczyna się gdy chcę zobaczyć itemy innego usera ponieważ:
gdy kliknę pokaż tablicę z itemami odpowiedzialny za to jest:

@Html.ActionLink("Show this user wall", "CurrentUserItems", "Items", new { id = item.UserFriendID }, null)

przekieruje mnie do


 public ActionResult CurrentUserItems(Guid? id)
        {
            return View();
        }

tutaj widzę jego ID ale mój widok poprzez jquery wywołuje pobranie danych poprzez kontroler który zwraca mi jsona. Tutaj jest właśnie pytanie jak przekazać do tego kontrolera ID które mam w kontrolerze CurrentUserItems

czytałem 2 razy i nie rozumiem do końca o co chodzi. Z widoku CurrentUserItems chcesz przekazać do metody akcji która zwraca CurrentUserItemsAjax id ? - RideorDie 2016-04-21 20:37
W skrócie jak mogę przekazać id do kontrolera CurrentUserItemsAjax (parametr posiadam w kontrolerze który wywołuje widok w którym poprzez $.ajax wywołuje właśnie CurrentUserItemsAjax). Nie wiem jak to inaczej wytłumaczyć :/ - donex93 2016-04-21 20:46

Pozostało 580 znaków

2016-04-21 21:10
0

hmm chcesz przekazać dane z jednego kontrolera do drugiego ? Jeżeli tak to spróbuj


TempData["id"] = id;

Pozostało 580 znaków

2016-04-21 21:56
0

Próbowałem tego, ale to działa tylko 1 raz pomiędzy kontrolerami, a mój ajaxowy wykonuje się co 1s. Nie zadziała to poprawnie, ponieważ tylko 1 raz przekaże parametr, a kolejne odświeżenia już go nie będą widziały.

Pozostało 580 znaków

2016-04-21 22:01

Skoro chcesz to zrobić w ten sposób to Session zamiast TempData nie załatwi sprawy ? z tego co pamiętam ale nie jestem pewny TempData ma wartość do momentu jej odczytu potem się kasuje chyba tak to było ?

Czasem na najprostsze rozwiązania najtrudniej wpaść. Nie pomyślałem, że tak łatwo można było to zrobić, dzięki za pomysł pozdrawiam. - donex93 2016-04-22 00:11

Pozostało 580 znaków

2016-04-21 22:06
0

@RideorDie ma rację, spróbuj sesji :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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