How to pass a List from one page to another.









up vote
1
down vote

favorite












I'm having this issue and i'm stumped. I'm able to pass and received single object but If I try to pass a list, the data is not going to the second page.



Here is my OrderList Page



 [BindProperty]
public IList<Orders> Orders get; set;
public ActionResult OnPost()

//get modified data.
var orderList = Orders
return RedirectToPage("/ConvertToCsv", orderList );


on my ConvertToCsv page.
public void OnGet(IList<Orders> orderList )

//do something with list.


But the orderlist on OnGet is null.
I tested by passing a single record like
public ActionResult OnPost()


return RedirectToPage("/ConvertToCsv", neworderId= "test");


public void OnGet(string orderId )

//This works.



What am I doing wrong?










share|improve this question

























    up vote
    1
    down vote

    favorite












    I'm having this issue and i'm stumped. I'm able to pass and received single object but If I try to pass a list, the data is not going to the second page.



    Here is my OrderList Page



     [BindProperty]
    public IList<Orders> Orders get; set;
    public ActionResult OnPost()

    //get modified data.
    var orderList = Orders
    return RedirectToPage("/ConvertToCsv", orderList );


    on my ConvertToCsv page.
    public void OnGet(IList<Orders> orderList )

    //do something with list.


    But the orderlist on OnGet is null.
    I tested by passing a single record like
    public ActionResult OnPost()


    return RedirectToPage("/ConvertToCsv", neworderId= "test");


    public void OnGet(string orderId )

    //This works.



    What am I doing wrong?










    share|improve this question























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I'm having this issue and i'm stumped. I'm able to pass and received single object but If I try to pass a list, the data is not going to the second page.



      Here is my OrderList Page



       [BindProperty]
      public IList<Orders> Orders get; set;
      public ActionResult OnPost()

      //get modified data.
      var orderList = Orders
      return RedirectToPage("/ConvertToCsv", orderList );


      on my ConvertToCsv page.
      public void OnGet(IList<Orders> orderList )

      //do something with list.


      But the orderlist on OnGet is null.
      I tested by passing a single record like
      public ActionResult OnPost()


      return RedirectToPage("/ConvertToCsv", neworderId= "test");


      public void OnGet(string orderId )

      //This works.



      What am I doing wrong?










      share|improve this question













      I'm having this issue and i'm stumped. I'm able to pass and received single object but If I try to pass a list, the data is not going to the second page.



      Here is my OrderList Page



       [BindProperty]
      public IList<Orders> Orders get; set;
      public ActionResult OnPost()

      //get modified data.
      var orderList = Orders
      return RedirectToPage("/ConvertToCsv", orderList );


      on my ConvertToCsv page.
      public void OnGet(IList<Orders> orderList )

      //do something with list.


      But the orderlist on OnGet is null.
      I tested by passing a single record like
      public ActionResult OnPost()


      return RedirectToPage("/ConvertToCsv", neworderId= "test");


      public void OnGet(string orderId )

      //This works.



      What am I doing wrong?







      asp.net-core razor-pages






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 18:50









      causita

      849817




      849817






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          You can't pass complex objects as route data. The route data feature only supports simple objects like int and string. If you want to retain more complex objects across requests, you need to use Sessions or TempData (backed by session state).



          TempData is probably the better option in this case because the item is removed from memory once you access it.



          Further reading:



          TempData: https://www.learnrazorpages.com/razor-pages/tempdata

          Sessions: https://www.learnrazorpages.com/razor-pages/session-state

          State Management in Razor Pages: https://www.learnrazorpages.com/razor-pages/state-management






          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53231714%2fhow-to-pass-a-list-from-one-page-to-another%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            You can't pass complex objects as route data. The route data feature only supports simple objects like int and string. If you want to retain more complex objects across requests, you need to use Sessions or TempData (backed by session state).



            TempData is probably the better option in this case because the item is removed from memory once you access it.



            Further reading:



            TempData: https://www.learnrazorpages.com/razor-pages/tempdata

            Sessions: https://www.learnrazorpages.com/razor-pages/session-state

            State Management in Razor Pages: https://www.learnrazorpages.com/razor-pages/state-management






            share|improve this answer
























              up vote
              0
              down vote



              accepted










              You can't pass complex objects as route data. The route data feature only supports simple objects like int and string. If you want to retain more complex objects across requests, you need to use Sessions or TempData (backed by session state).



              TempData is probably the better option in this case because the item is removed from memory once you access it.



              Further reading:



              TempData: https://www.learnrazorpages.com/razor-pages/tempdata

              Sessions: https://www.learnrazorpages.com/razor-pages/session-state

              State Management in Razor Pages: https://www.learnrazorpages.com/razor-pages/state-management






              share|improve this answer






















                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                You can't pass complex objects as route data. The route data feature only supports simple objects like int and string. If you want to retain more complex objects across requests, you need to use Sessions or TempData (backed by session state).



                TempData is probably the better option in this case because the item is removed from memory once you access it.



                Further reading:



                TempData: https://www.learnrazorpages.com/razor-pages/tempdata

                Sessions: https://www.learnrazorpages.com/razor-pages/session-state

                State Management in Razor Pages: https://www.learnrazorpages.com/razor-pages/state-management






                share|improve this answer












                You can't pass complex objects as route data. The route data feature only supports simple objects like int and string. If you want to retain more complex objects across requests, you need to use Sessions or TempData (backed by session state).



                TempData is probably the better option in this case because the item is removed from memory once you access it.



                Further reading:



                TempData: https://www.learnrazorpages.com/razor-pages/tempdata

                Sessions: https://www.learnrazorpages.com/razor-pages/session-state

                State Management in Razor Pages: https://www.learnrazorpages.com/razor-pages/state-management







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 9 at 19:36









                Mike Brind

                16.8k53768




                16.8k53768



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53231714%2fhow-to-pass-a-list-from-one-page-to-another%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Use pre created SQLite database for Android project in kotlin

                    Darth Vader #20

                    Ondo