Q:

Evitar que los elementos agregados en array de javascript no se borren al volver a cargar la pagina

En la primer carga de la pagina tengo una tabla con todos los libros disponibles junto a un boton agregar a carrito, y un formulario que le permite al usuario hacer una búsqueda de un libro(lo puede buscar por nombre de libro, por autor y por categoría).  
Al pulsar elbotón agregar a carrito llamo a una función llamada pushData de javascript.  Esta función guarda los idLibro en un array de javascript.(funciona perfectamente).  
El problema esta en que si hago otra búsqueda de un libro, al recargarse la pagina los elementos que tenia en el array se borran.  Entonces como puedo evitar que esos elementos que estaban no se borren al recargarse la pagina? 
aca el .cshtml

@model List<Librery_MVC.Models. Libro>

<p id="pText">hola</p>

<div class="table-responsive">
    <table class="table table-striped table-primary mt-5 table-bordered" id="myTable">
        <thead>
            <tr>
                <th></th>
                <th>Id</th>
                <th>Nombre</th>
                <th>Autor</th>
                <th>Categoria</th>
                <th>Descripcion</th>
                <th>Precio</th>
                <th>Imagen</th>
            </tr>
        </thead>
        <tbody>

            @if (Model. Count() == 0)
            {
                <tr>
                    <td colspan="6" style="color:red">
                        No Match any document
                    </td>
                </tr>
            }

            else
            {
                foreach (Libro item in Model)
                {

                    autor = sa.getAutor(item. IdAutor);
                    editorial = es. GetEditorial(item. IdEditorial);
                    category = cs.getCategoria(item. IdCategoria);

                <tr>
                    <th>
                        <input type="hidden" name="inputText" id="inputText" value="@item. IdLibro" />
                        @Html. ActionLink("Mostrar", "MostrarLibro", "Usser", new { idLibro = item. IdLibro }, new { @class = "btn btn-info" })
                        <button onclick="pushData();" class="btn btn-info">Agregar a carrito</button>
                    </th>
                    <th>@item. IdLibro</th>
                    <th class="col-md-2">@item. Nombre</th>
                    <th>@autor. Nombre</th>
                    <th>@category. Nombre</th>
                    <th class="col-md-3"><textarea rows="4" cols="40" readonly>@item. Descripcion</textarea></th>
                    <th>@item. Precio</th>
                    <th><img src="/@item. UrlImagen. Replace("\\", "/")" width="80" height="100" /></th>
                </tr>
                }
            }
        </tbody>
    </table>
</div>

y aca la función de javascript

<script type="text/javascript">
    //creo el array
    var myArr = [];

    function pushData(idLibro) {

        myArr.push(idLibro);

        var pval = "";

        for (i = 0; i < myArr.length; i++) {
            pval = pval + myArr[i] + "<br/>";
        }

        //muestro el array
        document.getElementById('pText').innerHTML = pval;
    }
</script>

A:

Solucionado!  con sessionStorage en la funciónjavaScript

<script type="text/javascript">
    //declaro una varible json para obtener el array "myArr" que guarde en la función pushData
    var json = sessionStorage.getItem("array");
    //creo el array
    var myArr = [];

    if (json ! = null) {
        myArr = JSON.parse(json);
        show(myArr)
    }


    function pushData(idLibro) {
        myArr.push(idLibro);
        //aca guardo el array "myArr" utilizando sessionStorage
        sessionStorage.setItem("array", JSON.stringify(myArr));
        show(myArr)
    }

//funcion que muestra los elementos que tengo en el array "myArr" en una etiqueta <p>
    function show(array) {

        var pval = "";

        for (i = 0; i < array.length; i++) {
            pval = pval + array[i] + "<br/>";
        }

        //muestro el contenido del array en la etiqueta <p id="pText"></p>
        document.getElementById('pText').innerHTML = pval;
    }
</script>

