Jak przesłać obiekt do akcji kontrolera i otworzyć nową stronę? asp.net

0

Witam,

działam w framwork m4, c# i chcę z poziomu widoku odnieść się do akcji kontrolera, przesyłając przy tym pewien obiekt i otwierając na końcu nowy widok.

jak mogę to zrobić?

próbowałem za pomocą ajax ale nie szło mi to.

proszę o pomoc.

0

Ajax to był chyba dobry kierunek. Co ci nie szło?
Ja bym to zrobiła tak (ale ostrzegam, że nie jestem guru od mvc): request do kontrolera z tym obiektem w poście, na responce przekierowanie na nowy widok.

0

robiłem tak, że wysyłałem żądanie do kontrollera z obiektem i było dobrze,
następnie kontroler tworzył mi nowy widok i go zwracał, ale ten nowy widok się w ogóle nie chciał otworzyć.

Chyba musiałem, źe przekierowywać na ten nowy widok, jak to dobrze zrobić?

0

I tu niestety wyjdzie moja ignorancja - w jakiej formie jest ci zwracany nowy widok? Czy jest to url?
Jeżeli tak, to w javascriptcie zrób window.location = url

0

nie to nie jest url, tylko obiekt ViewResult.

0

nie wiem dlaczego ale url.Action w ogóle mi nie działa, jest jakiś inny sposób?

0
Michaell65 napisał(a):

działam w framwork m4, c# i chcę z poziomu widoku odnieść się do akcji kontrolera, przesyłając przy tym pewien obiekt i otwierając na końcu nowy widok.

Nowy widok, czyli chcesz zrobić przekierowanie do innej akcji (RedirectToAction)?
Bo AJAXem możesz z poziomu JS wywołać akcję kontrolera i odebrać wynik jako np. JsonResult, ale o co chodzi wówczas z otwarciem nowego widoku?

Pokaż jakiś kod i opisz dokładniej, co chcesz osiągnąć.

0

chcę zrobić stronę podglądu, czyli user ma widok przed sobą z polami do uzupełnienia i je uzupełnia. Następnie klika "podgląd" i wtedy następuje odniesienie się do akcji kontorlera (do tej akcji chcę przesłać ten obiekt, który bedzie modelem dla podglądu). Akcja ta zwraca nowy widok, czyli podgląd strony, aby user mógł sobie zobaczyć jak to wygląda i chciałbym, żeby ten podgląd był w nowej zakładce przeglądarki.

0
Michaell65 napisał(a):

chciałbym, żeby ten podgląd był w nowej zakładce przeglądarki.

No to pod akcją kontrolera zrób RedirectToAction, a linkowi ustaw atrybut HTML target = _blank.

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